Merging Branches with Git Rebase
source link: https://jdhao.github.io/2022/03/07/git_merge_branch_with_rebase/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Merging Branches with Git Rebase
When merging branches, the most direct way we can use is to git merge
.
However, with git-merge, the commit history and graph will be messy if there are a lot of branches.
We can also use git rebase
to merge branches to make the commit history cleaner.
Suppose we have a feat
branch and master
branch, and they share a common base commit.
-----A------B----C------D(master)
\
\---E---F (feat)
To merge the two branches using git-rebase, run the following command:
git checkout feat
git rebase -i master
Note that after running the above step, we may get merge conflict.
We need to fix the conflict, then use git add some_file
to mark that conflict for some_file
has been resolved.
Use git rebase --continue
to fix conflict in other files,
or finish the rebasing process (when there is no conflict anymore).
After the above step, we have the following commit graph:
(master)
---A------C------D------E'---F'(feat)
In order to move master to tip of the commit, we can run the following command:
git checkout master
git merge --ff feat
The -ff
option for git-merge will ascend the master to the same commit as the feat
branch.
---A------C------D------E'---F'(feat)
\
\(master)
To delete the feat branch, run the following command:
git branch -d feat
Now, you have succeed in merging the two branches using git rebasing.
Reward
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK