我有一个真正的冲突解决方案集,我想我会去尝试它,如果我失败了,那么我应该能够将文件恢复到它的冲突状态。但是,我似乎找不到回去的方法。 git 仍处于 MERGING 状态,那么如何备份单个文件并重新解析?
最佳答案
首先,如果您认为自己的分辨率(或部分)可能不错,请将文件复制到其他地方。 :-) 然后运行:git checkout -m -- path
(仅当文件的 --
类似于有效的 path
选项时才需要 git checkout
部分,例如,如果您要放回冲突状态的文件名为 --theirs
或 -f
或类似的名称)。这将从三个输入( merge 基和两个分支头)重新创建文件的冲突标记变体,并将该文件写入工作树。
请注意,您可以指定 --conflict=merge
(默认)样式,或 --conflict=diff3
风格。这与设置 merge.conflictStyle
相同在 .gitconfig
,但仅适用于该文件和这一 checkout 。
如果您(或 git mergetool
)使用了已经运行的 merge 工具 git add
在已解决的变体上,请注意,这会将文件重新置于冲突状态,即将三个更高阶段的条目恢复到索引中。您现在可以运行 git mergetool
再次,或者——我个人的偏好——只是手动编辑冲突的文件和 git add
一旦您确信它是正确的,就会生成生成的工作树副本。
关于git - 冲突解决后如何将文件移回冲突状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48217712/