Working on a project
Here are some guidelines on how to create changes and develop new revisions. These guidelines can be used either for your work on your own project, or to help contribute your code to a project maintained by somebody else.
Different projects can use different development workflows; therefore, some of the recommendations presented here might not make sense depending on the given workflow in use.
Working on a topic branch
Branching in Git has two functions (Chapter 8, Advanced Branching Techniques): as a mediator for the code contributed by developers keeping to the specified level of code stability and maturity (long-running public branches), providing the road to integration and deployment, and as a sandbox for the development of a new idea (short-lived private branches).
The ability to sandbox changes is why it is considered a good practice to create a separate branch for each new task you work on. Such a branch is called a topic branch or a feature...