2

git merge 合并分支(保留历史提交)

1.切换到我的分支
2.合并develop分支到我的分支

git checkout mybranch
git merge develop

合并后git log查看mybranch,所有历史提交都在。
提交比较完整的保留,如果你的提交比较杂乱,这就成了缺点。而且merge会引入一个合并提交。

git rebase 变基&合并分支(丢弃原始提交,形成线性提交历史)

1.切换到我的分支
2.合并develop分支到我的分支

git checkout mybranch
git rebase develop

合并后git log查看mybranch,提交历史是以最新develop分支为基础的,mybranch自己的提交记录在新基础的后方。即线性提交。
个人理解 rebase可顾名思义,重置基础。意识是以develop为最新基础,merge上mybranch的修改。

交互式的rebase

参数:-i

git checkout feature
git rebase -i master

Rebase的黄金法则

1.不能在公共分支上使用它。比如master,develop。
2.通常用在你自己的独享分支上。

总结

1.想要保存项目完整的历史,并且避免重写公共分支上的commit,使用git merge

2.想要一个干净的、线性的提交历史,没有不必要的合并提交,使用 git rebase


April
159 声望7 粉丝

润新苗于细雨 成万物于美田