gpt4 book ai didi

git - 在cherry-pick和rebase之后是否可以 merge ?

转载 作者:行者123 更新时间:2023-12-04 13:35:36 24 4
gpt4 key购买 nike

是否可以在第 4 步 merge 而不发生冲突?

  • 樱桃选择从分支 1 到分支 2 提交“E”
     branch1 : A - B - C - D - E
    \
    branch2 : F - G - E(cherry-pick from 1)
  • 提交被添加到 branch2
     branch1 : A - B - C - D - E
    \
    branch2 : F - G - E - H - I
  • 以交互方式 rebase 和压缩提交,因为它们是同一问题的解决方案。

    (现在,我认为这是一个错误的决定......)
     branch1 : A - B - C - D - E
    \
    branch2 : F - G - I'
  • cherry-pick 再次压扁提交到 branch1 ......

    (最好选择提交 H,I 到 branch1 吗?)
     branch1 : A - B - C - D - E - I'(conflict?)
    \
    branch2 : F - G - I'
  • 最佳答案

    这是一个有趣的问题,但是除非您提供实际的 git 存储库以便检查变更集,否则没有人能够提供明确的答案。

    存在 merge 冲突的事实与提交 H 和 I 是单独挑选还是一起重新定位无关。 E 也被压扁的事实可能是一个因素。

    不过,更重要的是,问题的前提是一个小问题。 “是否可以在不发生冲突的情况下 merge ?”为什么这种 merge 需要在没有冲突的情况下发生?发生冲突可能是正确和适当的。

    当 git 说“有冲突”时,这并不意味着“你搞砸了,这些不能 merge ”。相反,它意味着“我(git)无法弄清楚应该如何 merge 这些更改。我需要人工帮助。”

    这是解决方案 :
    获取一些好的 diff/merge 软件(我在 Windows 上使用 P4Merge,但有很多选项)。检查每个有问题的提交的内容。了解冲突是什么(最有可能是 H 或我更改了 E 中已更改的行,或者 H 和我可能依赖于 F 或 G 中已经进行的更改)。解决每个冲突:这可能意味着保留原始行,或保留较新的行,或以 merge 两个分支的更改的新方式修改行 - 这完全取决于上下文。

    不要害怕与团队成员协商解决冲突 - 您很可能会决定他们的某些工作是否会被删除。

    关于git - 在cherry-pick和rebase之后是否可以 merge ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62192333/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com