Branches
Using branches is critical to working with Git, not to mention to the success of your project. The idea is this: you have a "main" branch that you'll do your releases from. Each time code is added to the main branch it is checked and reviewed so that the main branch stays as clean as possible.
When you want to work on a bug or a feature, you create a new branch (often called a feature branch). This creates a copy of the code that is currently in the main branch. You can work on your feature branch without affecting the main branch at all. Once you are done, and all is working, you can then "merge" your feature branch into the main branch:
Figure 3.11: First feature branch
Notice that there is a pointer named Head. This points to whatever is in your work area. In this case, we've branched to Feature 1 and Head shows that the code for that feature branch is now in our work area.
That is a pretty good simplification of branching...