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.通常用在你自己的独享分支上。