如何在解决冲突后将文件移回冲突状态?
How to move a file back into the conflict state after conflict resolution?
我有一个冲突解决集的真正错误,我想我会去做,如果我失败了,那么我应该能够将文件恢复到它的冲突状态。但是,我似乎找不到返回的方法。 git 还处于MERGING 状态,那么如何备份单个文件并重新解析?
首先,如果您认为自己的分辨率(或部分分辨率)可能不错,请将文件复制到其他地方。 :-) 然后 运行:
git checkout -m -- <em>path</em>
(仅当文件的 path
类似于有效的 git checkout
选项时才需要 --
部分,例如,如果文件您想要回到冲突状态被命名为 --theirs
或 -f
或类似的)。这将从三个输入(合并基和两个 b运行ch 头)重新创建文件的冲突标记变体,并将该文件写入工作树。
请注意,您可以指定 --conflict=merge
(默认)样式或 --conflict=diff3
样式。这与 .gitconfig
中的设置 merge.conflictStyle
相同,但只是针对那个文件和这个检出。
如果您(或 git mergetool
)使用的合并工具已经 运行 git add
解决变体,请注意,这会使文件回到冲突状态,即,它将三个更高阶段的条目恢复到索引中。您现在可以再次 运行 git mergetool
,或者——我个人的偏好——只需手动编辑冲突文件和 git add
生成的工作树副本,一旦您确信它是正确的。
我有一个冲突解决集的真正错误,我想我会去做,如果我失败了,那么我应该能够将文件恢复到它的冲突状态。但是,我似乎找不到返回的方法。 git 还处于MERGING 状态,那么如何备份单个文件并重新解析?
首先,如果您认为自己的分辨率(或部分分辨率)可能不错,请将文件复制到其他地方。 :-) 然后 运行:
git checkout -m -- <em>path</em>
(仅当文件的 path
类似于有效的 git checkout
选项时才需要 --
部分,例如,如果文件您想要回到冲突状态被命名为 --theirs
或 -f
或类似的)。这将从三个输入(合并基和两个 b运行ch 头)重新创建文件的冲突标记变体,并将该文件写入工作树。
请注意,您可以指定 --conflict=merge
(默认)样式或 --conflict=diff3
样式。这与 .gitconfig
中的设置 merge.conflictStyle
相同,但只是针对那个文件和这个检出。
如果您(或 git mergetool
)使用的合并工具已经 运行 git add
解决变体,请注意,这会使文件回到冲突状态,即,它将三个更高阶段的条目恢复到索引中。您现在可以再次 运行 git mergetool
,或者——我个人的偏好——只需手动编辑冲突文件和 git add
生成的工作树副本,一旦您确信它是正确的。