我和我的朋友刚开始使用git和GitHub来帮助我们在Visual Studio 2010中管理我们正在进行的C# w/XNA项目。当只有一个人更改文件时,一切都正常,他的工作会正确地推送并与中央仓库合并。然而,当两个不同的人同时在代码上工作并进行更改时,最后一个推送的人总是必须处理手动合并,以便在尝试拉取第一个人的更改时,自动合并失败。
即使我们所做的更改是无关的(例如,一个人添加一个完全随机未使用的类,另一个人添加一个不同的未使用类的第二个随机未使用变量),这种情况仍会发生。我们可能已经花费了约3个小时来解决这个问题,但没有任何效果。我知道有些程序可以用来帮助进行手动合并,但我想确保它不是某个设置导致此问题。
编辑:我们现在在我们的存储库中使用.gitignore文件(这里),似乎我们已经取得了一些进展。现在,当第二个人在推送自己的更改之前拉取并合并时,它确实似乎在他的本地副本上进行了更改(这意味着他的项目文件注册了我之前所做的更改),但是他仍然无法完全合并,因为当他执行git pull时,会出现以下错误:
警告:无法合并二进制文件:collision/collision.suo(HEAD vs db023c2075...)
自动合并collision/collision.suo 冲突(内容):合并冲突在collision/collision.suo中 自动合并失败。解决冲突,然后提交结果。
我已经检查过.suo扩展名是否包含在忽略文件中,所以我不知道是什么原因导致这个问题。任何进一步的帮助将不胜感激,感谢那些已经发表过帖子的人。
即使我们所做的更改是无关的(例如,一个人添加一个完全随机未使用的类,另一个人添加一个不同的未使用类的第二个随机未使用变量),这种情况仍会发生。我们可能已经花费了约3个小时来解决这个问题,但没有任何效果。我知道有些程序可以用来帮助进行手动合并,但我想确保它不是某个设置导致此问题。
编辑:我们现在在我们的存储库中使用.gitignore文件(这里),似乎我们已经取得了一些进展。现在,当第二个人在推送自己的更改之前拉取并合并时,它确实似乎在他的本地副本上进行了更改(这意味着他的项目文件注册了我之前所做的更改),但是他仍然无法完全合并,因为当他执行git pull时,会出现以下错误:
警告:无法合并二进制文件:collision/collision.suo(HEAD vs db023c2075...)
自动合并collision/collision.suo 冲突(内容):合并冲突在collision/collision.suo中 自动合并失败。解决冲突,然后提交结果。
我已经检查过.suo扩展名是否包含在忽略文件中,所以我不知道是什么原因导致这个问题。任何进一步的帮助将不胜感激,感谢那些已经发表过帖子的人。
git log --oneline --graph --decorate --all
? - suvayu