在Git / GitHub中自动合并Visual Studio项目(未解决的冲突)的问题

时间:2012-04-26 17:31:31

标签: visual-studio-2010 git merge github

我和朋友刚开始使用git与GitHub一起帮助我们管理我们在Visual Studio 2010中正在处理的C#w / XNA项目。当只有一个人对文件进行更改时,一切正常工作推送并与中央存储库正确合并。但是,当我们有两个不同的人在处理代码并同时进行更改时,最后一个人在尝试拉动第一个人的更改时总是必须处理手动合并,因为自动更改失败。     即使我们所做的更改不相关也会发生这种情况(I.E.一个人添加一个完全随机的,未使用的类,另一个添加第二个随机的,未使用的变量,一个不同的未使用的类)。我们可能花了大约3个小时左右愚弄这个问题无济于事。我知道有一些程序可以用来帮助促进手动合并,但我想确保它不是导致这个问题的一些设置。 谢谢!

编辑:我们现在在我们的存储库(this one here)中使用.gitignore文件,似乎我们已经取得了一些进展。现在,当第二个人在推送他的更改之前进行合并时,它似乎确实在他的本地副本上进行了更改(意味着他的项目文件记录了我之前做出的更改),但他仍然无法完全合并,因为他得到了以下内容他执行git pull时出错:

警告:无法合并二进制文件:collision / collision.suo(HEAD vs db023c2075 ...)

自动合并碰撞/碰撞 CONFLICT(内容):在碰撞/碰撞中合并冲突 自动合并失败。修复冲突然后提交结果。

我已经检查过.suo扩展名包含在忽略文件中,所以我不知道导致此问题的原因。任何进一步的帮助将不胜感激,并感谢那些已经发布的人。

2 个答案:

答案 0 :(得分:2)

好的!我们终于解决了这个问题。显然问题出在.gitignore文件及其创建方式上。我之前刚刚在记事本中制作了一个文件,但我猜它没有被拿起来。我所做的只是使用以下内容在git bash中重新创建它:

触摸.gitignore

然后添加它并提交。感谢所有的建议,肯定让我朝着正确的方向前进。

答案 1 :(得分:1)

您可能不会忽略二进制和本地配置文件。您必须创建.gitignore文件,并在其中列出您不想添加到回购的内容。 您可以找到更多信息here