|

Aimee

Write the Code. Change the World.

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的两条。 ​

提交记录如图 image.png

通过变基合分支

// 先切换到dev分支
git checkout dev

// 变基
git rebase master

// 如果遇到冲突 解决冲突并 git rebase --continue

// 切换到master分支
git checkout master

// 合并分支
git merge dev

此时的提交记录图如下,之前的dev的commit记录直接变成了master的提交记录。 image.png

变基的其他参数

git rebase --abort 会放弃合并,回到rebase操作之前的状态,之前的提交不会丢弃;即回到撤销rebase,回到没有pull时的状态。 ​

git rebase --skip 则会将引起冲突的commits 丢弃掉 ​

git rebase --continue 合并冲突,结合 git add 文件 命令一起用于修复冲突,提示开发者,一步一步地有没有解决冲突。 ​

git pull --rebase 相当于 git fetch + fit rebase

评论1

登录后参与评论。

  • 游客

    12

回到顶部