【发布时间】:2015-09-23 21:38:44
【问题描述】:
我的 git 合并有很大问题,我的 repo 现在有点麻烦。
实际上,我有很多 个文件看起来是这样的:
<<<<<<< HEAD
...version1...
=======
...version2...
>>>>>>> <long hexa code>
众所周知,这是合并冲突情况下的正常行为。 但是我没有其他文件版本,只有这些。
如何以交互方式合并它?我需要的是看到彼此相邻的“version1”和“version2”并能够以交互方式合并它们。
当然,这些文件格式意味着每个软件都会出现语法错误。
git merge 和所有的合并工具都在说,没有合并冲突。但是,有。
我该怎么办?
扩展#1: 我用一些 shellscripting 分割文件,使用命令
for i in $(cat ../conflicts); do csplit $i '/=======/' -f $i. -n 1;done
现在我在path.0 和path.1 中有这些文件的一部分。现在我需要一个交互式解决方案来合并它们。
【问题讨论】:
-
我很好奇你是怎么进入这种状态的。似乎有人犯了未解决的冲突。你应该追捕他们:-)。或者,找到提交的冲突未解决的提交,并将其还原,然后重新合并。
-
有人开始合并,而我在工作副本中的更改尚未提交。 :-(
-
唯一能做到这一点的人就是你。
git pull或git merge仅应在您的工作副本干净时运行。 -
@Daniel 有时有一些信誉良好的同事认为我无法完成我的工作并想提供帮助。有时这会导致数据丢失。现在我需要我的核心 shellscripting 和 gitting 技能来修复他们的帮助。
标签: git merge recovery disaster-recovery