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