git - 冲突解决后如何将文件移回冲突状态?

标签 git git-merge-conflict

我有一个真正的冲突解决方案集,我想我会去尝试它,如果我失败了,那么我应该能够将文件恢复到它的冲突状态。但是,我似乎找不到回去的方法。 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/

相关文章:

git:仅获取当前版本

git diff 分支 --name-status --ignore

Git merge 仅在 pom.xml 中的版本标记上发生冲突

git - 如何解决 git stash 冲突?

git - Azure Devops pull 请求完成时发生冲突

git - 即使没有冲突,Gerrit UI 也会将状态显示为 merge 冲突

git - 如何反向应用有冲突的存储?

linux - 如何从 Linux 控制台将 SSH key 添加到 github?

android - 将 facebook-android-sdk 导入 Eclipse 有困难

linux - 如何设置 git 和 maven 协同工作?