问题描述
我已经克隆了私有 git 存储库,问题是我有很多 git 冲突标记导致我的代码失败,例如:
<<<<<<< HEAD
"support": {
"issues": "https://github.com/PHPspec/prophecy/issues","source": "https://github.com/PHPspec/prophecy/tree/1.12.2"
},=======
>>>>>>> acf658f7bcc5d175d648b7e136daf5efeda3a979
我正在寻找一种方法来删除它们,避免手动检查每个文件,我的意思是是否有任何软件可以帮助我浏览所有这些标记并显示诸如合并时的选项。
我尝试使用 PHPSTORM 但没有成功。
解决方法
我已经克隆了私有 git 存储库,问题是我有很多 git 冲突标记导致我的代码失败,例如:
好吧,那么无论是谁将原始代码放在那里,都会包含它们并破坏代码,然后将其推入非功能状态。给他们写一封电子邮件并告诉他们解决这个问题,如果它仍然是一个选择。不是你的错,不应该是你的问题。
通常最容易找到提交的位置 (git blame
)。这可能是一个合并提交,他们没有这样做(可能是因为他们不明白 git merge 是什么)。然后,git reset
到之前的提交,进行合并,这次正确。 (这里是您可以“自动正确”执行的地方,但我不知道您的合并情况。Git 合并并不难,请仔细阅读!)
在你完成了合并而不在源代码中留下所有这些冲突之后,你只需挑选 git 合并之后出现的任何内容。
再一次,有人签入的代码很明显已经被破坏了,如果不是你,你应该非常小心代码 - 任何命令 git 的人都不关心确保他们签入的东西有效,即使在基本层面。