Current Articles | RSS Feed RSS Feed

Setting Up Git on Windows in Four Easy Steps

Posted by adam feber on Thu, Feb 02, 2012 @ 10:15 AM
 

Introduction

Setting up Git can be intimidating, especially for those that are trying a version control system for the first time or moving from Subversion. It used to be the case that Git was a huge hassle to install and use on Windows. However, nowadays it's super easy to use Git on Windows either through Git Bash, if you're a fan of the command line, or if you prefer a graphical interface, through programs like TortoiseGit. Below we'll show you how to set everything up and connect it with Assembla.

Note: Below is a condensed version that doesnt show EVERY screenshot along the way. For the long version, click here.

Table of Contents

  1. Download and Install Git for Windows
  2. Download and Install TortoiseGit (Optional but recommended for first timers)
  3. Generate SSH keys
  4. Link SSH key with Assembla

Prerequisites

  1. Assembla Git repository - sign up if you haven't already, it's totally free for standalone Git hosting.
  2. A strong desire to install Git on Windows.
  3. That's it, let's go!

1. Download and Install Git for Windows

To get things started, you'll need to download and install Git for Windows. You can download it here. If you're unsure of which one to choose, just go with the full installer. After downloading, run the installer.

  git setup wizard
If you have PuTTY/TortoiseSVN installed, you may see this screen, otherwise just ignore this. Regardless, use OpenSSH to make things easy. 
 

SSH Executable

Complete Setup Wizard

Download and Install TortoiseGit

This step is optional. If you are comfortable using the command line for interacting with Git, you do not need to install TortoiseGit.

Next up, let's download and install TortoiseGit.
  tortoise1

tortoise7
We'll need to configure TortoiseGit - to do this, right click anywhere on your Desktop, select "TortoiseGit" and then "Settings."

tortoise8
Find "Git" and then click on "Config" from the menu on the left. Then fill in your Name and Email, making sure to use the same email that you used to sign up for Assembla.

Don't forget to click OK when you're done.
 
tortoise9

Great, now TortoiseGit is all set!

Generate SSH keys

There's two ways to generate SSH keys:
  1. If you installed TortoiseGit, use the method directly below. 2. If you only installed Git on Windows and are not using TortiseGit, jump to the "Git Bash SSH Keys" section.

TortoiseGit SSH Keys

SSH creates a secure connection from your computer to Assembla, making sure that you are who you claim to be so that only authorized persons can commit to your repository. Assembla needs to know your public SSH key to make the secure connection, so let's fire up Puttygen to generate an SSH key pair.

Start -> Programs -> TortoiseGit -> Puttygen

puttygen1
In Puttygen, first click on the "Generate" button.

puttygen2
Next, you'll move your mouse around the big gray area under the progress bar to generate randomness for super security.

puttygen3
Once the key is generated, you should copy it onto your clipboard. You'll use this later to authenticate with Assembla.

puttygen4
Afterwards, choose a memorable password and confirm it. Don't forget your password!

puttygen5
Lastly, click on the "Save private key" button and save your private key somewhere you'll remember.

puttygen6


Git Bash SSH Keys

If you did not install TortoiseGit, you're at the right place! If you did install TortoiseGit, follow the steps above and skip this section.

  • Start up Git Bash: Start -> All Programs -> Git -> Git Bash
  • On the command prompt, type in the following command substituting with the email you used to sign up for Assembla.
  • When it asks you for the file, just hit Enter.
  • Please note that you should definitely enter a passphrase; when you type, nothing will show up. This is normal, don't worry about it.

ssh-keygen -t rsa -C "me@email.com"

Use Notepad to open up the .ssh/id_rsa.pub file you just generated and copy the all of the contents of that file.

Link Your SSH key with Assembla

Open up your Assembla profile which is where you'll paste the public key you just copied from the previous step. 
 
key1
Click "Add Key" after you've pasted the key into the box. You should see something like the following picture below. If so, congratulations, you're done with this section!
  key2

Create Something!

Now the fun begins! Click here to learn how to clone your git repository, add files, commit, and push.  

Stuck? Need help?

If you encounter difficulty with any of this, don't hesitate to contact Assembla support.

1 Comments Click here to read/write comments

TestLodge's Test Management Tool Integrates with Assembla

Posted by Jeff Carl on Wed, Jan 25, 2012 @ 02:06 PM
 
Tags: ,

test cases browser

TestLodge recently announced their latest feature that allows Assembla users to link their accounts to TestLodge's test case management tools. This integration makes many essential software testing features available to Assembla users without having to manually enter data for their tests and bug tickets multiple times. TestLodge created this custom integration using Assembla's REST API.

This first iteration from TestLodge offers the following features:
 
  • Automatically create tickets in Assembla in the background when a test fails. Each ticket includes a description and steps to replicate, along with the expected result and actual result.
  • Optionally, choose who the Assembla ticket should be assigned to, and set the priority.
  • Associate an Assembla project workspace with a TestLodge project.
  • View a test report that provides links to all created tickets.

About TestLodge
TestLodge is a relatively new hosted tool that is designed to be a lot simpler than the traditional test management software by providing only the essentials to get the job done well. The system focuses on helping you create your test plans, input your requirements, create and manage your test suites & cases, and allow you to easily perform multiple test runs & generate reports.

Special offer
As an introductory offer, TestLodge is offering a 20% discount for a limited time to anyone who makes use of the new Assembla integration. Simply sign up for your TestLodge account, then email TestLodge about the discount within a week of signing up.

test run resized 600

2 Comments Click here to read/write comments

Collaboration Tools - Overview Videos

Posted by adam feber on Thu, Jan 19, 2012 @ 01:43 PM
 

Below are the updated overview videos for Assembla's most used collaboration tools - Wiki, Files, and Messages. If you are not taking advantage of any of these tools, you can add them to your project workspace in seconds from the Admin tab of of you space.

wiki   The Wiki tool is ideal for organizing pages for instructions, ideas, specifications, documentation, and anything else you want. Add new pages in seconds, and customize the navigation to fit your needs. Let other team members contribute; if you don't like their additions, just roll back to any previous version. 
 files   The Files tool provides a central and secure place or organize and manage project files and Google docs. You can add files and Google docs directly to the Files tool or you can upload them to tickets, messages, wiki pages, etc. - either way, all your project files will be organized and searchable from the Files tool.  
 messages   The Message tool lets team members communicate with each other while maintaining a centralized record of all conversations. Messages are a great way to facilitate communication and collaboration without messy email threads that get overlooked, clutter email inboxes, or don't reach everyone.


These videos and others can be found on Assembla's YouTube channel

0 Comments Click here to read/write comments

Creating and Organizing Tickets - Overview Video

Posted by adam feber on Tue, Jan 17, 2012 @ 09:52 AM
 


We have updated our Ticket tool overview video to ensure that you and your team get the most from this powerful tool. 

This updated video was the result of a conversation with an Assembla user that said "the ticket tool is great, but I wish we could customize the workflows," not knowing that this can easily be done from the ticket settings page. Several other times, I have talked to users that were unaware of the Cardwall and/or Planner views. So even if your a seasoned veteran, take a few minutes to watch the video below - you may learn a thing or two. 


This video and others can be found on Assembla's YouTube channel

0 Comments Click here to read/write comments

5 Skills for Tech Leads

Posted by Sergio Romano on Fri, Jan 13, 2012 @ 08:40 AM
 

I recently left my Product Manager role at Assembla to become the Chief Experience Officer.  I transfered responsibility for a lot of different decisions about the product, release schedules, teams interactions and development. To make the transition easier, I decided to write a small piece of skills that the next Product Manager should have to continue running our product successfully. I knew that if he was the right person, he would not read a long piece of text about "managing" nor he will take my advice too seriously.

So I started with the great blog post from Andy about Assembla's Tech Lead Checklist as my base and together, we figured out which 5 Skills we were looking to have the best Tech Lead in the world to run our product:

1) Development

You should be a developer, and a good one. Try to always make you some time to be involved with the code. If you help developers with their code issues, they will be willing to help you with the release. If there is an urgent problem that you can fix faster, do it. Don't forget that you started in these business because you wanted to program computers.

2) Release Management

Your main job is to resolve needs and roadblocks (not to make sure that people are following any methodology). You should care to keep everyone moving and working on important and small tasks. Balance load so that everyone is only working on one task at a time. You should be good splitting work into small pieces so that the tasks are easier to estimate, control, finish or postpone when needed.

3) Product Management

Prioritize, that's all. Then, you just have to work on the most important tasks from your list (which will also be small ones if you did your homework). Find "minimum releasable features" and products. You should think features as products and always be releasing features you can sell, otherwise you are wasting everyone's time. After you release a new feature, market it and continue improving it with user's feedback. Learn to let data drive your development by always defining metrics for your problems and to prove your solutions. 

Aside:  If you follow these rules, you will avoid code refactoring.  You will only be doing refactoring when you need it for something new.  This is one of the ways that you will start to think differently from an pure engineer that is not thinking about product management.

4) Recruiting

Learn how to test people inside your team. Don't waste time with paper work, leave that for someone else. Document the "getting started" and learn to do "on boarding" to help new members get started. You are seeking for people that get things done, the rest is just accessories.

5) Managing People

Be honest and helpful. Always remember you might be dealing with people from different cultures and countries so understand the communication problems instead of getting angry about them. Your goal is to remove the stress away from your team but still make them part of the decisions and success so that they are happy and challenged. The hardest challenge is not to build a great product, but to have a growing team of talented and motivated guys working on the same thing.
At the end, we took these ideas into a training program for our team members. We made some extra materials that best describe these skills and put them into practice. We will continue sharing it through our blog.

2 Comments Click here to read/write comments

5 Do's and Don'ts for Managing Distributed Teams - A Tech Lead Speaks

Posted by adam feber on Thu, Jan 05, 2012 @ 05:20 PM
 

world icon
Some estimates show that up to 80% of software development is done in some sort of distributed environment. Managing a distributed team can be challenging but rewarding if you find what processes work for you and your team.

Titas Norkūnas, a Technical Lead at Assembla, spoke at Agile 2011 in Norway on “Distributed Agile: 5 Dos and 5 Don’ts for Global Team Management.” Titas works with a development team that spans over 15 countries. Below is the video from Titas's presentation and the annotated summary.

Watch the Video: 

Titas provided some notes from his open space sessions that show how important this material is.

  • Mostly Project Managers attended these [sessions on distributed teams].
  • Project Managers did not like my presentation. I think it is because I argued skipping Project Managers, skipping estimates, not doing video/phone conversations. I got a much better response from technical people - architects, consultants, even a phd researcher.
  • Every Project Manager insists to use video conferencing software.
  • All people in an open space, except for me and one other guy, thought that their distributed teams were not successful (about 20 people in a "show of hands").

There is clearly a correlation between old-style project management, complete with video conference calls, and mis-handling distributed teams. Many project managers don’t notice this themselves.

Titas's final conclusion? - “A lot of people want to outsource or use distributed teams, but they don't know how.“

Summary

5 Dos:

1. Share a Continuous or Daily Build:

Have a continuous or daily build where everybody on the team shares their code instead of working from a hodgepodge of commits and branches. This provides a more up-to-date codebase for team members to checkout and a stable running version of the software.

A common obstacle of implementing this is when team members do not commit often. Below are some ways to help prevent this problem:

  • Simply ask team members to commit more often and define some guidelines.
  • Break complex tasks into smaller, more manageable task that take less time to develop.
  • Provide rapid feedback when code changes are available to reduce downtime.

2. Embrace Decision-Making:

Communication will be slower and more difficult in a distributed team, especially when spread across multiple distant time zones. Give developers leeway to make some decisions on their own. This can translate into getting something decent today instead of being delayed. If you don’t get exactly what you want, you can always tweak it, but at least you made progress without downtime.

Writing really good specifications reduces the need to make independent decisions, but writing really good specifications takes time and is easier said than done, so don’t discourage decision-making during certain circumstances.

3. Keep Everything Organized in Tickets:

A lot of conversations will happen via email or through IM services like Skype or Google Chat. These conversations typically result in a task or tasks that should be documented before they are forgotten. It is important to use a web-based task/issue tracker where team member can view, create, and edit tickets.

Use milestones to plan sprints and iterations. Did you conversation lead to a cool improvement that is not a top priority? Put it into the backlog so you can fit it into a later release.

4. Communicate Asynchronously:

Skip the unnecessary teleconferencing and video chats by having developers fill out daily stand up reports, which is a simple form that addresses what I have done, what I will do, and any needs or roadblocks. Stand up repots allow Technical Leads to quickly check to see if the team is on the same page, are their priorities ok, and if there is anything that needs to be addressed.

5. Subscribe to Team Activity:

Just like you check Facebook to see what your friends are up to, you should regularly check your project’s stream to see project activity. Keep an eye out for irregularities such as unusually low activity or lack of involvement from certain team members. 

5 Don’ts:

1. Skip Interviews (and do Trials):

Look for qualified applicants with relevant experience and give them trial task to complete during a paid trial period. At Assembla, we do two week paid trials where we can evaluate a set of candidates based on their performance to see if we are getting the value for the money. 

2. Skip Non-Technical Project Managers

Non-technical Project Managers can slow down development progress. Train Technical Leads which are Project Managers that are also developers. Check out our blog pot on “Tech Leads will Rule the World” to learn more about Technical Leads.

3. Skip Estimates

This doesn’t apply to everyone but if you have a good roadmap and prioritize tasks, estimates will just slow you down. In this case, estimates will not change the order in which you do things so why spend the time working on estimate when you can just work from high priority tasks in queue.

4. Skip Traveling

There is no need for face-to-face communication so why spend the money and time to travel? Traveling can be good for team building but not for productivity.

5. Don’t Have Rules

Given certain circumstances, rules occasionally need to broken so instead, provides guidelines that allow team members to make certain decisions based on the outcome, not the rule.


1 Comments Click here to read/write comments

New Portfolio features: Standup and Share

Posted by Andy Singleton on Mon, Jan 02, 2012 @ 02:59 PM
 

We recently released two new features for Portfolio users:  Standup and Share.

"Standup" in the portfolio will show you the most recent Standup reports from all spaces.  You can click on the “Activity report” link to see more details about the user.   This has been a lifesaver for me as our business gets more complicated.  Before I talk to someone, I can check this report to find out what he or she is working on, and I have the opportunity to sound relatively informed and attentive.  You can also use it to spot "needs" and remove obstacles more quickly.

portfolio standup resized 600

With “Share” permissions, you do not need to enter all of your team members multiple times.   Just “Share” with an existing team.  This is convenient if you have a project / subproject structure.  You can add team members to your top-level project, and then when you set up subprojects, “Share” with the entire team.  To use it, go to the Team tab, and (if you are in a portfolio) select the “Share” subtab.

share permissions resized 600

 

About Portfolio

Assembla Portfolio gives you more control over your project workspaces though a branded portal that provides unlimited projects with cross-project tracking, reporting, and team/client management. Portfolio is ideal for companies that concurrently manage multiple development projects and require more control and greater visibility across projects. Existing workspace users can upgrade and try portfolio for free for 30 days.

0 Comments Click here to read/write comments

Simplified Start Page for Users with One Space

Posted by adam feber on Tue, Dec 27, 2011 @ 09:30 AM
 

If you have only one space, you see a new layout on your user/start page.  This new layout simplifies navigation by moving links and information onto the start page.  About half of all Assembla users are team members who are invited to one space.  When you join a second space, your start page will go back to the list of projects, and you will need to click on a space name to see the tools.

Here is a screenshot that shows a typical project configuration:

simple start page

On top, you have direct links to the tools in the space.  Underneath, you will see “modules” that depend on the tools installed in your workspace.

Static Modules:

Stream: From the Stream module, you can view project activity, in real-time, so you always know what is being worked on.

Project Owners: Shows who “owns” a project and also provides one-click access to the Team tab to view all team members. Owners of a project also have on-click access to add new team members from the dashboard.

Tool Modules (vary based on the tools installed in your space):

My Followed Tickets: A list of tickets that are assigned to you, and other tickets that you follow. An orange star next to a ticket represents a ticket that is assigned to you and a yellow star next to a ticket represents a ticket you follow but not assigned to you.  Follow and unfollow tickets by clicking the star.

StandUp:  If Standup is your default landing page (Free Standup configuration) you can update/edit your daily StandUp report from your dashboard. Click “StandUp reports” link to view the StandUp tab of your space to read through other team members reports.

Commits: If you have a code repository installed in your space, you can get an at-a-glance view of the number of commits for the current week and the previous week. Click on the “Browse code” link to go to the code browser of your repository.

Wiki: The Home page of your wiki is displayed on the dashboard to provide important information about the project such as relevant links, processes, and other documentation.  You can use a Wiki home page as an easy way to introduce new team members to a project.

Future:

If you participate in a second space, you will go back to the view with a list of spaces.  We are seeking advice on enhancements.  For example, if people like the one-space view, we can put panels under each space to show the dashboard. We will continue to refine the panels on the dashboard.

2 Comments Click here to read/write comments

What changed? See code changes and affected tickets

Posted by adam feber on Thu, Dec 22, 2011 @ 05:00 PM
 


Assembla Subversion and Git users are now able to access both affected files AND tickets when comparing what has changed between revisions. This update makes it easier for release managers to know what tickets were affected in a revision or between a range of revisions.

The "What changed" feature shows files that were changed between two revisions.

In order to track affected tickets, you must reference tickets in commit comments. For example, “re #1231” in your commit comment shows that your commit is related to ticket number 1231. Or “test #1231” shows that your commit is in reference to ticket number 1231 and will also update the status to test.

Using "What Changed"

In your Subversion or Git repository, go to the Changesets sub tab, click the “What changed” button, and in the pop up, enter the two revisions you want to see changes between. The AJAX search will find what you are looking for as you begin to type. Click compare. 
 

what changed pop up


Scroll to the bottom of the page and you will have two tabs – Affected Files and Affected Tickets. Click on the Affected Tickets tab and you can see the summary, milestone, assigned to, and status of all affected tickets between the two revisions. From this tab, you can also update or access these tickets.
 

changes between commits

0 Comments Click here to read/write comments

Assembla now available in Spanish, Russian, and Vietnamese

Posted by adam feber on Wed, Dec 07, 2011 @ 11:04 AM
 

Hello, Привет, Hola, Chào!

The Spanish and Russian translations are complete, and most of the tools have been translated into Vietnamese. 

To update your language preference, visit the Edit Profile page of Assembla. When you update your language preference in your user profile, it will remain the default language whenever you log in to Assembla. 

Because Assembla has users in more than 100 countries, we will continue to translate Assembla’s tools and landing pages into new languages.  We plan to add languages such as German, Chinese, Polish, and Portuguese.

How to update your language preference

1 Comments Click here to read/write comments

All Posts | Next Page

Follow Assembla

twitter facebook youtube linkedin googleplus

Subscribe by Email

Your email: