【发布时间】:2011-08-18 16:59:11
【问题描述】:
嘿,所以我是一个完整的 git 新手,我做过的最高级的事情只是基本的拉/推.etc
由于我不明白我的一个提交编辑了一堆文件的原因,包括嵌入到文件中我自上次提交以来所做的编辑,例如:
foo.txt:
bar
如果我将其编辑为:
foobar
提交时的文件已更改为:
<<<<<<< HEAD
bar
=======
foobar
>>>>>>> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
X 是提交代码或其他。
对我的源文件进行的这些编辑是什么,我如何摆脱它们?
感谢您对此的任何帮助
【问题讨论】:
-
这些是合并冲突。它们发生在合并期间(这是
pull的一部分),当合并的分支都对文件的同一部分进行了修改时。它们永远不应该由 git 提交,但是如果您手动add未解析的文件,git 将默默地服从您的(在这种情况下不正确)命令。如果您写出完全您所做的事情,您可能会得到解释为什么它们会发生在您的特定案例中。 -
我最近刚刚重新安装了我的操作系统,重新启动了整个项目,它已经是这样了,所以它可能以前发生过。有没有什么简单的方法可以通过覆盖所有最新的编辑来解决冲突?我知道在与团队合作时这是一个非常糟糕的主意,因为它可能会丢失很多工作,但现在我正在独自完成这项工作,因此不会有冲突是其他人的工作的风险。
-
没有最新的编辑,因为冲突中的两个版本是并行创建的。使用
gitk检查历史记录,然后您必须手动选择哪个版本对每个冲突都是正确的。 -
有没有一种简单的方法可以将“新版本”标记为所有文件的正确版本?基本上旧版本都是几个月大的,所有新版本都是正确的。