下面举例说明一下这两个命令的区别,从 master 拉一个叫feature的分支出来,
notion image
在 feature 分支进行了两次提交,此时其它人也进行了两次提交,并且合并到了 master 分支,
notion image
此时是无法push到远程仓库的,需要进行分支合并,下面来演示git rebase 和 git merge 这两个命令的差异。
1、git merge 操作
git merge命令会在feature分支创建一个新的“合并的提交”(merge commit),现有的分支不会以任何方式改变。
notion image
这意味着每次合并上游(upstream)更改时,feature分支将有一个多余的合并提交。如果master分支更新频繁,这可能会导致feature分支历史记录有大量的合并提交记录。
2、git rebase 操作
此命令将整个 feature 分支移动到 master 分支的顶端,有效地将所有新提交合并到master 分支中。和git merge不同的是,git rebase通过为原始分支中的每个提交创建全新的提交来重写历史记录。
notion image
rebase的主要好处就是历史记录更清晰,没有不必要的合并提交,没有任何分叉。
mcbilla
mcbilla
一个普通的干饭人🍚
Announcement
type
status
date
slug
summary
tags
category
icon
password
🎉欢迎来到飙戈的博客🎉
-- 感谢您的支持 ---
👏欢迎学习交流👏