示例:
我克隆了Github存储库,创建了一个新的分支并开始处理一个功能。
我的同事克隆了同样精确的Github存储库,在他的本地机器上创建了自己的分支(git checkout -b mylocalbranch),并使用自己的功能。
在我做之前,我的同事完成了他的功能并将其推向制作并回到Github。
30分钟后我完成了我的功能,想要推动我的工作而不会引起任何冲突。
将我的工作投入生产并回到Github而不会造成任何冲突的最佳方法是什么?
答案 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。评论和帖子都是黄金。