lab 28 Merging
Goals
- Learn how to merge two diverging branches to bring the changes back into a single branch.
Merge the branches 01
Merging brings the changes in two branches together. Let’s go back to the greet branch and merge master onto greet.
Execute:
git checkout greet git merge master git hist --all
Output:
$ git checkout greet Switched to branch 'greet' $ git merge master Merge made by the 'recursive' strategy. README | 1 + 1 file changed, 1 insertion(+) create mode 100644 README $ git hist --all * d1c6a6d 2013-10-06 | Merge branch 'master' into greet (HEAD, greet) [Ismail Dhorat] |\ | * cad8e98 2013-10-06 | Added README (master) [Ismail Dhorat] * | 6e84bb4 2013-10-06 | Updated Rakefile [Ismail Dhorat] * | b90deb7 2013-10-06 | Hello uses Greeter [Ismail Dhorat] * | 0a6c49b 2013-10-06 | Added greeter class [Ismail Dhorat] |/ * 27b8b27 2013-10-06 | Added a Rakefile. [Ismail Dhorat] * 23944f0 2013-10-06 | Moved hello.rb to lib [Ismail Dhorat] * 273edac 2013-10-06 | Add an author/email comment [Ismail Dhorat] * 9efd33e 2013-10-06 | Added a comment (v1) [Ismail Dhorat] * 8b9a1c6 2013-10-06 | Added a default value (v1-beta) [Ismail Dhorat] * f6f4d6b 2013-10-06 | Using ARGV [Ismail Dhorat] * f98d857 2013-10-06 | First Commit [Ismail Dhorat]
By merging master into your greet branch periodically, you can pick up any changes to master and keep your changes in greet compatible with changes in the mainline.
However, it does produce ugly commit graphs. Later we will look at the option of rebasing rather than merging.
Up Next 02
But first, what if the changes in master conflict with the changes in greet?