我有一个冲突解决方案的真正错误,我认为我只是去寻求它,如果我失败了,那么我应该能够将文件恢复到冲突状态。但是,我似乎无法找到回归的方法。 git仍然处于MERGING状态,那么如何备份单个文件并重新解析呢?
答案 0 :(得分:1)
首先,如果您认为可能有一个不错的分辨率(或部分分辨率),请将文件复制到其他位置。 :-)然后运行:
git checkout -m -- path
(仅当文件的 --
类似于有效的path
选项时才需要git checkout
部分,例如,如果您想要的文件放回冲突状态被命名为--theirs
或-f
或某些此类)。这将从三个输入(合并基础和两个分支头)重新创建文件的冲突标记变体,并将该文件写入工作树。
请注意,您可以指定--conflict=merge
(默认)样式或--conflict=diff3
样式。这与在merge.conflictStyle
中设置.gitconfig
相同,但仅适用于该文件和此一个结帐。
如果您(或git mergetool
)使用了已在已解析变体上运行git add
的合并工具,请注意这会将文件重新置于冲突状态,即它会恢复三个更高阶段的条目进入索引。您现在可以再次运行git mergetool
,或者 - 我的个人偏好 - 只需手动编辑冲突的文件,并在您确信它是正确的后,git add
生成的工作树副本。