github工作流问题,如何在github上与多个开发人员一起工作

时间:2016-10-07 21:59:24

标签: github merge

我的朋友和我正在研究同一个项目,我们正在使用Github。 我正在考虑为我们每个人创建分支,然后合并到主人。

我刚做了一个实验,我同时创建了2个分支,然后修改了两个分支中的同一个文件。然后我尝试合并到主人。第一次合并是成功的,但第二次合并没有。它说存在冲突。

这是问题所在。假设我的朋友和我同时克隆了回购,我们在项目上工作,我们可能会在同一个文件和不同的文件中进行更改。怎么可能最终合并我们的分支?

还是有另一种解决方案?

2 个答案:

答案 0 :(得分:1)

冲突是非常普遍的,很可能会在你的项目中与他人合作时出现,没有他们的景观。

当它发生时,第二个人(有冲突的人)必须处理它们。有很多方法可以做到,但我认为更简单的方法是:

  1. 来自终端和您想要结果的分支(在本例中为master),执行git merge [branch-name]

  2. 现在,终端会说有冲突。执行git status以查看冲突所在的文件。

  3. 访问这些文件并按照您的需要进行编辑(github会在中间保留两个有>>>>>>>的冲突代码,只需确保您要维护的内容。

  4. 解决所有问题后
  5. (确保您的代码按照您希望的方式运行),执行git merge --continue

  6. ps:有关详细信息,请参阅:https://git-scm.com/docs/git-merge

答案 1 :(得分:0)

当出现冲突时,您必须解决它。 为此,请查看错误中提到的文件,例如:

Auto-merging www/index.html
CONFLICT (content): Merge conflict in www/index.html
Automatic merge failed; fix conflicts and then commit the result.

该文件应如下所示:

<html>
  <body>
<<<<<<< HEAD
    <h1>Hello world!</h1>
=======
    <h1>Hello StackOverflow!</h1>
>>>>>>> master
  </body>
</html>

然后,您可以对解决冲突的文件进行更改。

<html>
  <body>
    <h1>Hello StackOverflow!</h1>
  </body>
</html>

然后,您可以进行包含该文件的提交。

另外在SO上查看这个问题,特别是如果你想使用带有GUI的工具:What's the best visual merge tool for Git?