gpt4 book ai didi

Git - merge 到 master 中总是会产生相同的冲突,即使上次已修复

转载 作者:太空狗 更新时间:2023-10-29 14:45:43 30 4
gpt4 key购买 nike

即使我修复了 merge 冲突(保持暂存并删除 HEAD),下次我从我的暂存分支 merge 到 master 时,同样的冲突发生了,即使被描述为 HEAD 的代码不再存在于 HEAD 上,因为我上次删除它。

我不明白的是,如果我选择不让代码更改暂存并将它们提交给 master,那么为什么,如果我没有将“更改”保留在 master 上,下次我 merge 暂存时它们会再次出现吗在掌握? staging 上的代码如何与不存在的 master 上的代码发生冲突?

最佳答案

您可能遇到以下情况:

  1. 创建分支后,master 发生了变化。 master 上的这些更改与分支上所做的更改冲突,并且
  2. 您希望保留更改在 master 上的原样(或至少其中的一部分)。因此,每次您将分支 merge 回原处时,尽管上次解决了冲突,但仍会发生相同的冲突。

您可以使用 git rerere (reuse recorded resolution) 它会在你解决 merge 冲突时记录解决方案,并在检测到相同冲突时重用它。为此,请运行:

git config --global rerere.enabled true

下次遇到 merge 冲突时,您应该注意到一行看起来像 Recorded preimage for '<filename>' 的行,当您提交冲突解决方案时,您应该看到 Recorded resolution for '<filename>' .

然后,下次你 merge 你的分支时,git 应该会说类似 Resolved '<filename>' using previous resolution 的东西并自动应用您上次所做的相同修复。

关于Git - merge 到 master 中总是会产生相同的冲突,即使上次已修复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28604882/

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