Summary
This chapter has shown how to effectively use branches for development and collaboration. You also got to know a few useful tricks.
First, we learned about the various uses of branches, from integration, through release management and the parallel development of features, to fixing bugs. You learned about different branching patterns and branching workflows. This knowledge should help you branch and customize workflows so that they fit the needs of the project and your team’s preferences.
You also learned how to deal with multiple branches per repository while downloading or publishing changes. Git provides flexibility in how the information on branches and other refs in the remote repository is managed using the so-called refspecs to define a mapping to local refs: remote-tracking branches, local branches, and tags. Usually, fetching is governed by fetch refspec, but pushing is managed by the configured push mode. Various collaborative workflows require branch...