IT *_*her 6 git gitlab git-merge-conflict
我们使用的是 Gitlab 免费自托管 13.8.4-ee。在合并冲突期间,我们希望 Git 按原样保存合并中未解决的冲突的状态,以便我们以后能够继续解决冲突。
我们在 Gitlab UI 的 Merge 工具中检查过,这是不可能的。“合并请求”中的“草稿”选项只会使合并处于非就绪状态,但我们无法保存已解决和未解决的冲突,因为git mergetool会解决与 BASE (共同祖先)版本的未解决冲突,而不是而不是保留本地副本。我们还检查了这在 Beyond Compare 或 Meld 等外部合并工具中是不可能的。即使在 Github 的免费版本中检查时,也不允许保存/关闭合并,直到删除所有冲突标记。
有没有办法可以在 Git 中保存当前的合并状态?在TFS中,可以按原样保存当前合并状态。
请检查上一个问题的答案:冲突情况下的 Git merge 将本地副本替换为共同祖先副本
你不能。
\n更准确地说,在 Git 中永久保存任何内容(甚至只是一天左右,或出于传输目的等)的方式是进行提交。但是,当您处于冲突合并过程中时,您无法进行任何新的提交。您想要保存内容,以便可以在其他地方继续合并。因此,您处于第 22 条军规的情况:您想要保存冲突,但要做到这一点,您必须首先完全解决冲突,之后就没有冲突需要保存。
\nGit 确实需要一种工具来实现这一点,并且有几种可能的方法来添加一个,但是 \xe2\x80\x94 据我所知,至少 \xe2\x80\x94 没有人通过添加一个来完成它。
\n(这不是文件是否有冲突标记的问题,尽管理想情况下“保留部分但有冲突的合并”也会保留然后恢复这些冲突标记。实际问题是索引中有非零暂存号。这些非零暂存编号是阻止写出树的原因,如果没有写树的能力,就无法保存各种文件。)
\n