git rebase
· 分享镜#小技巧
变基的作用就是修改历史,将分支历史并入主线。
常规的项目开发
基于master 分支切一个业务分支 dev。与此同时 dev 提交了两条记录 dev-fix1/dev-fix2, master 分支也提交master-fix1/master-fix2. 此时dev日志开发完成要上线,需要合分支。
常规合分支
// 先切换到master分支
git checkout master
// 合并dev分支到master分支
git merge dev
// 推送到远端
git push
此时 的提交记录分别有 dev 的两条、master的两条。
提交记录如图

通过变基合分支
// 先切换到dev分支
git checkout dev
// 变基
git rebase master
// 如果遇到冲突 解决冲突并 git rebase --continue
// 切换到master分支
git checkout master
// 合并分支
git merge dev
此时的提交记录图如下,之前的dev的commit记录直接变成了master的提交记录。

变基的其他参数
git rebase --abort 会放弃合并,回到rebase操作之前的状态,之前的提交不会丢弃;即回到撤销rebase,回到没有pull时的状态。
git rebase --skip 则会将引起冲突的commits 丢弃掉
git rebase --continue 合并冲突,结合 git add 文件 命令一起用于修复冲突,提示开发者,一步一步地有没有解决冲突。
git pull --rebase 相当于 git fetch + fit rebase
评论(1)
登录后参与评论。
- 游游客
12

