假设这是我的主人:
C1 -> C2
我创建了一个开发(或功能)分支并做了一些提交:
C1 -> C2 -> D1 -> D2 -> D3
现在我提出了一个 PR,但那时主人又有了一些提交:
C1 -> C2 -> C3 -> C4
我压缩并合并了 PR,现在 master 看起来像:
C1 -> C2 -> C3 -> C4 -> D
我现在可能会在 dev 分支上做更多的改进,那么我应该执行哪些 git 操作,以便我的 dev 分支现在与我的 master 分支相同:
[现在] C1 -> C2 -> D1 -> D2 -> D3
[想要这个] C1 -> C2 -> C3 -> C4 -> D
附加问题:“Rebase and Merge”而不是“Squash and Merge”在这里有帮助吗?
答案 0 :(得分:0)
您需要将本地主分支重置为远程主分支:
git fetch
git switch master
git reset --hard origin/master
git switch -C dev master
您的 dev
分支现在位于 master
,它本身重置为 origin/master:C1 -> C2 -> C3 -> C4 -> D
由于您推送的原始开发者和掌握者之间没有检测到冲突,“Rebase and Merge”不会有帮助,并且会导致:
C1 -> C2 -> C3 -> C4 -> D1' -> D2' -> D3'