1

今天我推送了一些代码,看起来一切都很顺利(没有错误消息),但是当我在我的 IDE 中打开代码时,它充满了新的东西,看起来像:

<<<<<<< HEAD

=======

>>>>>>> 61fab429c996f1ca998cb5acb4csbbebd282b11a

        private void function(string[] args)
        {
<<<<<<< HEAD

=======

>>>>>>> 61fab429c996f1ca998cb5acb4csbbebd282b11a

是什么赋予了?发生了什么?我应该怎么做才能防止它在未来发生?

4

3 回答 3

4

这些被称为合并冲突。解决这些冲突以免其中包含所有这些“垃圾”的好方法是使用合并工具

于 2013-07-05T19:43:50.290 回答
3
<<<<<<< HEAD

=======

>>>>>>> 61fab429c996f1ca998cb5acb4csbbebd282b11a

当 git 尝试合并文件但检测到文档中的某一行已在两个分支上发生更改时,必须合并,然后将这些行添加到文件中。当您从远程存储库中拉取时,合并会自动发生(fetch之后合并)。

合并现在还没有完成。正常的任务是编辑该文件并决定合并文件的外观,然后保存该文件,执行git add <file>并提交更改。

您的文件看起来有些奇怪。不同的行似乎是空的。当文件已在两个分支上自动格式化但一侧有制表符而另一侧有空格时,可能会发生这种情况......只是猜测。“Head”和“===”之间的部分是来自您实际分支的代码,另一半是来自远程存储库的更改。

于 2013-07-05T19:59:44.590 回答
3

当您尝试合并更改时会发生这种情况,但存在无法自动解决的冲突。要解决此问题,您必须手动解决这些冲突。您可以使用 TortoiseMerge 来解决冲突。

于 2013-07-05T19:43:33.217 回答