在团队工作时正确使用Git / Github

时间:2012-12-19 19:24:54

标签: git github

示例:

  • 我克隆了Github存储库,创建了一个新的分支并开始处理一个功能。

  • 我的同事克隆了同样精确的Github存储库,在他的本地机器上创建了自己的分支(git checkout -b mylocalbranch),并使用自己的功能。

  • 在我做之前,我的同事完成了他的功能并将其推向制作并回到Github。

  • 30分钟后我完成了我的功能,想要推动我的工作而不会引起任何冲突。

将我的工作投入生产并回到Github而不会造成任何冲突的最佳方法是什么?

4 个答案:

答案 0 :(得分:16)

让我们说你的同事将他的代码合并到production分支。

现在,您从之前的yourfeature创建的分支production已经过时了,很少有人在您之上提交。

你现在要做的是:

  • 切换到production分支
  • 拉它(所以你有最新的变化,包括你的同事的变化)
  • 转到您的yourfeature分支
  • 重新您的分支机构production:这将重播您对此分支机构的最新产品提交。
  • 如果出现任何冲突:它们是由于您的同事在更新内容时所做的相同行更改。

详细了解基础here

答案 1 :(得分:1)

好吧,你可以签出要合并的分支,

git checkout master

然后合并你的代码

git merge [current_branch]

总是存在冲突的可能性,在这种情况下,你只需要处理它们并解决它们。

本文应该有所帮助:http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging

答案 2 :(得分:0)

快速方法是,确保您的更改已提交,使用git pull提取您的队友所做的更改,使用git merge branchname将分支合并到您的更改中,并通过{{1}将您的分支合并到主服务器中} git checkout master,然后git merge yourbranchname更改回到远程仓库。

其他相关链接:

Merging between forks in GitHub

Merge changes from remote github repository to your local repository

答案 3 :(得分:0)

此博文非常有用:

  

结论

     

避免合并工作流程,特别是如果您有许多提交者或   你没有训练有素的提交者。

     

了解git的分布式特性如何改变游戏。

     

启用权威的系统receive.denyNonFastForwards   存储库

来自:http://randyfay.com/content/avoiding-git-disasters-gory-story。评论和帖子都是黄金。