Git - 如何隐藏冲突并稍后解决

mor*_*h84 1 git git-stash merge-conflict-resolution git-merge-conflict

我将一个分支合并到另一个分支并遇到了冲突。我部分解决了这个问题,但我需要同事的帮助才能完成解决。与此同时,当我在等他的时候,我想把这场冲突隐藏起来,继续做其他事情。但我不想失去已经解决的事情的进展。

我应该怎么办?除了在另一个目录中再次克隆存储库或手动复制冲突的文件然后稍后将其复制回来之外,还有其他方法可以实现此目的吗?

如果我尝试简单地隐藏它,git 会像这样抱怨:

path/to/file/with/unresolved/conflict: needs merge
path/to/file/with/unresolved/conflict: needs merge
path/to/file/with/unresolved/conflict: unmerged (somesha)
path/to/file/with/unresolved/conflict: unmerged (somesha)
path/to/file/with/unresolved/conflict: unmerged (somesha)
fatal: git-write-tree: error building trees
Cannot save the current index state
Run Code Online (Sandbox Code Playgroud)

Fro*_*don 5

在您的存储库中启用rerere

$ git config rerere.enabled true
Run Code Online (Sandbox Code Playgroud)

尽可能解决所有冲突,然后中止合并操作 ( git merge --abort)。所有成功的冲突解决方案都将被注册rerere,并在稍后针对相同冲突自动重播。

请参阅此博客条目:https://git-scm.com/blog/2010/03/08/rerere.html