在sourceTree 中使用 rebase (变基)

原始状态

假如我们要在 master 分支上进行开发,在远端的 master 分支上右键,检出 一个自己的开发分支 dev-1


做一些开发,提交到本地,不要推送(push)到远端
切换到 master 分支,拉取远端的 master 更新,(这里另一个同事在 master 分支上提交了 dev 2 的更新)

切换到自己的开发分支 dev-1
选中 master 分支,右键,选择 将当前变更变基到 master

如果有冲突则合并冲突,
点击左上角的加号,选择 继续变基

此时我们的本地更新是基于最新的 master 分支

最后’推送’我们的开发分支 dev-1到远端
切换到master分支,点击 拉取,拉取 dev-1 的更新到 master 分支

再推送 master 分支,就保证了git分支的整洁

© 著作权归作者所有
这个作品真棒,我要支持一下!
iOS 开发笔记,OC 及 swift,知名库的源码解读
4条评论

变基原理基本理解; 使用变基的好处和可能出现的问题; 在 SourceTree 中变基出现冲突之后怎么操作也可以写写.

衍合和变基是一个意思吗?

#2楼 @一路狂奔
把一個分支中的修改整合到另一個分支的辦法有兩種:merge 和 rebase(譯注:rebase 的翻譯暫定為“衍合”,大家知道就可以了。)
根据官方的解释,衍合 == 变基

#1楼 @独行者85
感谢回复,有时间会再更新

top Created with Sketch.