咨询GitHub PR中‘Update with rebase’选项对分支的影响
关于GitHub PR中「Update with rebase」选项的作用说明
点击后各分支的具体变化:
1. base分支(如main/master)
完全没有任何变化,这个操作不会修改base分支的任何提交或内容,它只会改动你的feature分支。
2. 你的feature分支
GitHub会在后台执行类似以下的操作:
- 先拉取base分支的最新代码
- 把你feature分支上的所有提交,逐个重新“嫁接”到base分支的最新提交末尾——相当于把你的代码逻辑重新在base的最新版本上执行一遍
- 最后将重写后的feature分支推送到远程(用的是安全的强制推送指令
git push origin feature --force-with-lease,不会覆盖他人在该分支的未推送修改)
注意:因为每个提交的父节点发生了变化,这些提交的哈希值会被重新计算,远程feature分支的提交历史会变成“线性”结构,不会像普通合并那样多出一个专门的合并提交。
冲突处理说明
如果重写过程中遇到代码冲突,GitHub会暂停rebase操作,在PR页面提示你解决冲突。你可以直接在网页上编辑冲突文件,提交后继续完成rebase流程,不会直接导致内容损坏。
内容的提问来源于stack exchange,提问作者qwaz
相关产品推荐
相关产品推荐

