git rebase 的使用场景

git rebase 的使用场景

分支合并

假设从master分支切出dev1, dev2这两个分支各自进行开发.

git checkout -b dev1
git checkout -b dev2

第一个人天天干,一周之后干完了,并且合并到了master分支, 这时候的master分支叫作master1,

第二个人浪了一周,第二周的时候才干完,这时候也想要合并到主分支上提交代码,但是当初他拿到手的是master, 而现在最新的是master1, 这时候就可以使用

git rebase master

这其中实际上总共做了如下操作: git 把dev2的分支里的每个commit取消掉, 之后把上面的操作临时保存成patch文件, 存在 .git/rebase下面, 之后会把dev2分支更新到最新的master分支master1上面, 最后把上面保存的patch文件 应用到master1分支上,当前的状态记为master2.

当然这中间有可能会出现冲突.手动修了冲突之后

git add .

更新结果. 然后这时候不需要再用 git commit -m X 了, 而可以使用

git rebase --continue

这样, git 就会继续应用没有改完的patch文件.

备注

在任何时候都可以使用 git rebase --abort 来终止 rebase的操作, 加到rebase开始之前的状态.

打赏,谢谢~~

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,多谢支持~

打开微信扫一扫,即可进行扫码打赏哦