You can merge with the "git merge" command. The argument of git merge is the commit ID, but branch is the name of the commit ID, and for everyday use, specify the branch name. And merge. The merge destination is the current current branch.
git merge branch name
What is a merge?
Merging is the incorporation of changes made to the source code.
For example, suppose you have a file called "a.txt" in my current main branch.
Contents of "a.txt" in my current main branch
foo bar bar
Let's say Marshmallow worked and committed in a branch called "masu_fix_bug" that was derived from the "main" branch. And "a.txt" became as follows.
Contents of "a.txt" in Marshmallow's "masu_fix_bug" branch
foo bar bar baz
I want to include the contents of Marshmallow's "masu_fix_bug" in the "main" branch.
In such a case, the function called merging analyzes the difference and captures it. You can check the difference with the " git diff" command.
git diff The name of the branch you want to merge
There are multiple algorithms applied to merging.
Fast forward merge
The simplest merge algorithm. If a merge is possible by simply proceeding with the commit, this will be selected.
Non-fast forward merge
Merges the differences from the positions of the common ancestors of the two branches. Marges may conflict.
What surprises me here is that when merging, a command line editor such as vi is launched. am.
If there are no problems, switch to command mode with "ESC" and press "wq" "Enter" (save and exit) to complete the merge.
Resolving merge conflicts
If the merge conflicts, you need to resolve the conflict. In case of collision, the following will be displayed in the source code. I changed the path to "/ foo" and Marshmallow changed the text to "Good bye", so it clashed.
Before the code <<<<<<<< HEAD <a href="/foo"> Hello</a> ======= <a href="/bar"> Good bye</a> >>>>>>> masu_fix_bug Behind the code
You need to think about what this part should be and fix it manually. Here is an example of a fix.
Before the code <a href="/foo"> Good bye</a> Behind the code
Now you have a content that correctly reflects the changes made by the two.