当我压缩父分支的提交并将其合并到主分支时,子分支会发生什么?
What happens to the child branch when I have squashed the commits from parent branch and merged it into master?
我的分支是这样的
M1 --- M2 --- M3 --- ............. --- M50 --- M51
\
\
P1 --- P2 --- P3 --- P4
\
\
C1 --- C2 --- C3
这里M是主提交
P 是父分支提交
C 是子分支提交
我正在开发一个功能 (F1) 并创建了一个分支 (Parent) 并提交到 P3。此时我开始研究新功能(F2),但由于我需要 P3 提交更改来处理新功能,我在 P3 创建了一个分支(子)。我收到了一条功能 F1 的评论评论,并在父分支中提交了 P4。
没有冲突,所以我重新设置了子分支的基址以获得类似的东西。
M1 --- M2 --- M3 --- ............. --- M50 --- M51
\
\
P1 --- P2 --- P3 --- P4
\
\
C1 --- C2 --- C3
现在我的父分支提交被压缩并与 M52 的主分支合并。在这里,我对我的子分支发生的事情感到困惑。我猜是这样的。
M1 --- M2 --- M3 --- ............. --- M50 --- M51 -- M52(contains squashed commits of P1-P4)
\
\
C1 --- C2 --- C3
如果我的猜测是正确的,那么正确的命令应该是什么?如果我的猜测也是错误的,请告诉我下一步。
M1 --- M2 --- M3 --- ............. --- M50 --- M51 -- M52
\
\
C1 --- C2 --- C3
我相信它又是一个基于 onto 的变基,但我不确定它到底应该是什么?很多团队在 master 上工作并合并他们的分支,所以我不想自己承担错误命令的风险。
提前致谢。
在父分支的“压缩和合并”之后,您的历史将如下所示:
M1 --- M2 --- M3 --- ............. --- M50 --- M51 --- M52
\
\
P1 --- P2 --- P3 --- P4 # <- the 'Pxx' commits still exist
\
\
C1 --- C2 --- C3
您正在查找的变基命令是:
git rebase --onto M52 P4 child
之后,您将不得不强制推送您的 child
分支以在远程仓库上更新它:
git push --force-with-lease origin child
我的分支是这样的
M1 --- M2 --- M3 --- ............. --- M50 --- M51
\
\
P1 --- P2 --- P3 --- P4
\
\
C1 --- C2 --- C3
这里M是主提交 P 是父分支提交 C 是子分支提交
我正在开发一个功能 (F1) 并创建了一个分支 (Parent) 并提交到 P3。此时我开始研究新功能(F2),但由于我需要 P3 提交更改来处理新功能,我在 P3 创建了一个分支(子)。我收到了一条功能 F1 的评论评论,并在父分支中提交了 P4。
没有冲突,所以我重新设置了子分支的基址以获得类似的东西。
M1 --- M2 --- M3 --- ............. --- M50 --- M51
\
\
P1 --- P2 --- P3 --- P4
\
\
C1 --- C2 --- C3
现在我的父分支提交被压缩并与 M52 的主分支合并。在这里,我对我的子分支发生的事情感到困惑。我猜是这样的。
M1 --- M2 --- M3 --- ............. --- M50 --- M51 -- M52(contains squashed commits of P1-P4)
\
\
C1 --- C2 --- C3
如果我的猜测是正确的,那么正确的命令应该是什么?如果我的猜测也是错误的,请告诉我下一步。
M1 --- M2 --- M3 --- ............. --- M50 --- M51 -- M52
\
\
C1 --- C2 --- C3
我相信它又是一个基于 onto 的变基,但我不确定它到底应该是什么?很多团队在 master 上工作并合并他们的分支,所以我不想自己承担错误命令的风险。
提前致谢。
在父分支的“压缩和合并”之后,您的历史将如下所示:
M1 --- M2 --- M3 --- ............. --- M50 --- M51 --- M52
\
\
P1 --- P2 --- P3 --- P4 # <- the 'Pxx' commits still exist
\
\
C1 --- C2 --- C3
您正在查找的变基命令是:
git rebase --onto M52 P4 child
之后,您将不得不强制推送您的 child
分支以在远程仓库上更新它:
git push --force-with-lease origin child