Chapter 7. Merging
Merging is the process of combining the recent changes from several branches into a single new commit that is on all those branches. Most often there are only two branches involved, but in fact, there can be any number; if there are more than two, it is called an “octopus merge.” When there are only two branches, the current branch is called “our” side of the merge, while the other branch is called “their” side. Since the octopus merge is unusual, we will generally assume a two-branch merge in this discussion.
We described how Git may start a merge for you as part of git pull (see Pulling), but you can also perform merges explicitly. Here’s a typical scenario: you’re working on a software project, and you have an idea for a new feature, but you don’t want your experimental work on that feature to disturb your main development. So you create a branch named feature to contain the work:
$ git checkout -b feature Switched to a new branch 'feature' (explore brilliant idea...)
When you need to go back to work on the main part of your project, you commit your work on the feature branch and switch back to master (or whichever branch you need to work on):
$ git commit -am "must save brilliant thoughts" [feature c6dbf36e] 0 files changed create mode 100644 effulgent.c create mode 100644 epiphany.h $ git checkout master Switched to branch 'master' (perform mundane chores...)
You continue like this for some time. Eventually, if you decide you don’t like your feature idea, you ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access