Git在我的源代码中插入了很多<<<<<错误消息

Car*_*din 5 git

我很擅长使用Git,所以有很多事情让我感到厌烦.昨天我试图做一个失败的git revert操作,并且它产生了一些关于合并或者东西的错误.我通过克隆我的存储库然后使用来找到解决方法

$ git reset --hard SHA1_HASH

回到之前的提交.不幸的是,现在我的代码中充斥着许多额外的东西

<<<<<<<<<<<< HEAD
//some stuff
=======
//other stuff
>>>>>>>>>>>> parent of 1ae3953... Removed duplicate folders
Run Code Online (Sandbox Code Playgroud)

我该如何删除这些东西?我很难通过我的所有文件并手动删除它们...有没有办法让Git删除它?

编辑:在某些提交过程中,标记成为我的代码的一部分.我如何确保将来,如果某些拉动或恢复失败,Git会不会将这些标记插入我的代码中?它有某种标志吗?

Wyz*_*a-- 14

这是一个合并冲突标记,当您执行类似a的操作时会添加该标记,git pull并且传入的更改无法与您自己的更改自动合并.它显示了您需要手动解决冲突的位置.

git reset --hard不会添加这样的标记,它会重置所有内容以匹配您指定的提交.如果您在完成后看到冲突标记git reset --hard,您可能忽略了在过去的某个时刻解决冲突,并无意中提交了冲突.

  • 这里"无意中犯了"这一点非常重要.您需要知道您的计算机无法始终为您合并所有内容,并且这些合并冲突消息告诉您有一些工作要做. (2认同)
  • @Cardin:不,它为您提供了执行剩余合并的最佳设置.替代方案是您永远不会执行合并.Git假设当你告诉它合并时,你有一些愿望这样做.`git reset --merge`将丢弃整个合并并让你回到你开始的地方. (2认同)