admin管理员组文章数量:1612066
Checkout and Rebase onto Current、Rebase Current onto Selected、Merge into Current的区别
举例场景
当前所在分支:dev-name
本地还存在的其他分支:dev
点击idea右下角
Git: dev-name
按钮会弹出Git Branches
弹窗,点击Local Branches
下的dev
(不是当前分支,另外的分支)会弹出新弹窗,弹窗有以下一些操作按钮:Checkout
New Branch from Selected…
Checkout and Rebase onto Current
Compare with Current
Show Diff with Working Tree
Rebase Current onto Selected
Merge into Current
Push…
Rename…
Delete
- 以上是在
dev-name
分支,点击dev
分支按钮出现的内容,其中Selected
表示选中的分支(dev),Current
表示当前分支(dev-name)
Checkout and Rebase onto Current、Rebase Current onto Selected、Merge into Current的区别
-
Checkout and Rebase onto Current
表示检出dev,并且以当前分支(dev-name)为基准对dev进行变基
简单来说就是,切换到dev分支并且将dev-name分支的内容以rebase的形式合并到dev分支
这个操作的方向与后两个也是有区别的,这个操作会切换分支,后两个操作不会切换分支
一般来说,不使用rebase,因为rebase会进行变基操作,如果dev-name与dev之间在很早之前才有相同的提交版本(相同的修订版本号revision number),那么rebase合并会带来大量的提交记录变化,影响较大
个人一般习惯用rebase,比如自己的开发分支(dev-name)与公用的开发分支(dev)用rebase进行合并。最开始dev-name分支是基于dev分支创建的,刚创建时,dev-name与dev具有相同的提交记录。操作步骤举例:
- 新创建了dev-name分支,在dev-name开发了一个新功能,准备合并到dev。
- 合并前,需要先在dev-name分支提交产生提交记录,提交前,先拉取dev分支最新内容合并到dev-name分支。很多同学提交前没有拉取dev分支最新内容的习惯,建议拉取一下,如果不拉取,那也就不建议使用rebase了,会有变基操作,影响较大。
- 拉取dev分支最新内容后,dev-name分支与dev分支具有相同的提交记录(就像刚基于dev分支创建的一样),只是dev-name分支有了一些自己修改的内容,此时对修改的内容进行提交,产生提交记录。当前的情况是,dev-name分支比dev分支多了一个最新的提交记录,除此之外,其它的提交记录都是相同的。建议提交后,及时进行合并操作,避免dev分支又产生了新的提交记录。
- 此时合并就可以使用
Checkout and Rebase onto Current
进行合并,因为此时,dev分支类似于是dev-name分支的一个子集,基于dev-name变基,也只是将dev-name分支最新的提交记录同步到dev分支,其它的都没有变。 - 注意,此时会切换到dev分支,这倒也没什么不好,因为下一步可能就会把dev分支最新内容推送到远程了。
- 如果继续开发,记得手动切换到dev-name分支,切换到dev-name分支后,建议拉取dev分支最新内容到dev-name分支。
-
Rebase Current onto Selected
表示以选中分支(dev)为基准,对当前分支(dev-name)进行变基
简单来说就是,将dev分支的内容以rebase的形式合并到dev-name分支
这个操作不会切换分支
-
Merge into Current
表示将选中分支(dev)的内容以merge的形式合并到当前分支(dev-name)
这个操作不会切换分支
本文标签: 区别RebasecheckoutCurrentmerge
版权声明:本文标题:Checkout and Rebase onto Current、Rebase Current onto Selected、Merge into Current的区别 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1728626753a1166590.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论