例子:
我克隆了 Github 存储库,创建了一个新分支并开始开发一个功能。
我的同事克隆了完全相同的 Github 存储库,在他的本地机器上创建了自己的分支(git checkout -b mylocalbranch),并使用他自己的功能。
我的同事在我之前完成了他的功能并将其推送到生产环境并返回到 Github。
我在 30 分钟后完成了我的功能,并希望在不引起任何冲突的情况下推进我的工作。
在不引起任何冲突的情况下,将我的工作推向生产并返回到 Github 的最佳方式是什么?
假设您的同事将他的代码合并到production
分支。
yourfeature
现在,您之前创建的分支production
有点过时了,并且您在其之上几乎没有提交。
你现在要做的是:
production
分支yourfeature
分行production
:这将在最新生产中重放您对该分支的提交。在此处阅读更多关于变基的信息
好吧,你可以签出你想合并到的分支,
git checkout master
然后合并你的代码
git merge [current_branch]
总是存在冲突的可能性,在这种情况下,您只需处理它们并解决它们。
这篇文章应该有所帮助: http: //git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging
快速的方法是,确保您的更改已提交,使用 拉取您的队友所做的更改git pull
,将分支合并到您的分支中git merge branchname
,将您的分支合并到 master by git checkout master
git merge yourbranchname
,然后git push
将更改备份到远程仓库。
其他相关链接:
这篇博文很有帮助:
结论
避免合并工作流程,尤其是当您有很多提交者或训练有素的提交者时。
了解 git 的分布式特性如何改变游戏规则。
在您的权威存储库上打开系统 receive.denyNonFastForwards
来自:http ://randyfay.com/content/avoiding-git-disasters-gory-story 。评论和帖子都是黄金。