Methods of combining changes
Now that you have changes from other people in the remote-tracking branches (or in the series of emails), you need to combine them, perhaps also with your changes.
Alternatively, your work on a new feature, created and performed on a separate topic branch, is now ready to be included in the long-lived development branch and made available to other people. Maybe you have created a bug fix and want to include it in all the long-lived graduation branches. In short, you want to join two divergent lines of development by integrating their changes.
Git provides a few different methods to combine changes and variations of these methods. One of these methods is a merge operation, joining two lines of development with a two-parent commit. Another way to copy introduced work from one branch to another is via cherry-picking, which is creating a new commit with the same changeset on another line of development (this is sometimes necessary to use). Alternatively...