Chapter 6. Advanced Branching Techniques
The previous chapter, Collaborative Development with Git, described how to arrange teamwork, focusing on repository-level interactions. In that chapter, you learned about various centralized and distributed workflows, and their advantages and disadvantages.
This chapter will go deeper into the details of collaboration in a distributed development. It would explore the relations between local branches and branches in remote repositories. It will introduce the concept of remote tracking branches, branch tracking, and upstream. This chapter will also teach us how to specify the synchronization of branches between repositories, using refspecs and push modes.
You will also learn branching techniques: how branches can be used to prepare new releases and to fix bugs. You will learn how to use branches in such way so that it makes it easy to select which features go into the next version of the project.
In this chapter, we will cover the following...