代码之家  ›  专栏  ›  技术社区  ›  Nathan Long

在Git合并冲突解决过程中,我可以检查文件的冲突状态吗?

  •  2
  • Nathan Long  · 技术社区  · 1 年前

    什么时候 git merge 具有冲突,处于冲突状态的文件包含显示差异的标记。

    假设在试图解决冲突时,我做出了更改,也许是:

    • 从中提取一些行 main 还有一些来自 mybranch
    • 跑步 git checkout mybranch somefile ,心想“我就用现在的版本 mybranch

    但后来我有了第二个想法,我想 将文件恢复到合并开始时的状态,显示冲突标记 ,并重新尝试解决冲突。

    我想我能跑 git checkout [something] somefile 回到冲突状态。会是什么?

    2 回复  |  直到 1 年前
        1
  •  3
  •   Romain Valeri    1 年前

    使用 -m option 对于 git checkout

    git checkout -m <path>
    

    使用-m,可以放弃对工作树文件所做的更改,以重新创建原始冲突的合并结果。

        2
  •  2
  •   Nathan Long    1 年前

    git checkout --conflict=merge somefile

    在中找到它 the manual 。的其他选项 --conflict diff3 zdiff3 ,如:

    git checkout --conflict=diff3 <path>

    使现代化 : git checkout -m <path 正如@RomainValeri所建议的,这是最简单的选择;这是相似但不同的 冲突 策略提供了更多的控制。