Git - 同一分支上的多个开发人员

时间:2018-02-19 19:16:32

标签: github bitbucket gitlab atlassian-sourcetree

我对Git很新,我使用sourcetree作为客户端。

我知道在Git中,两个开发人员一次在同一个分支上工作,因为他们拥有远程分支的本地副本。

所以这是一个场景:

A和B正在开发分支功能/ release1.0

向本地分支提交代码。 现在B提交代码并将其推送到远程分支。 现在A必须推动他的变化以及由B做出的拉动变化。

那么在这种情况下A会做什么?

3 个答案:

答案 0 :(得分:2)

在这种情况下,A应首先将B的变化拉下来,确保一切正常,提交和推送。

一般来说,我们(我的团队)不会那样工作。

当我们有两个开发人员密切合作某个功能时,我们会在不同的分支上工作并合并到一个共享功能分支。

这样做的好处之一是您可以提交并推行自己的日程安排,这意味着您可以使代码工作而不必担心其他开发人员的更改,并且您的代码可以实现服务器更快。也就是说,它在你自己的机器之外的某个地方,某个地方可能已备份。

答案 1 :(得分:2)

必须首先进行git pull(可能需要进行一些合并)而不是推送代码。

如果 A 尝试首先推送他的代码,git将告诉远程和本地分支已经分歧,并指示开发人员首先提取代码。

如果您注意git commit错误消息(和git状态消息),您将始终知道该怎么做。

答案 2 :(得分:0)

正如你所说,在推动她的改变之前,A必须从B(git pull)获得改变。她可能必须处理一些冲突,这些冲突应该在推送代码之前在本地解决。

除此之外,你应该重新考虑你的分支机构以避免这种冲突。是否有可能在不同的分支机构工作?例如,通过重新定义任务,可以更细粒度。

此外,至少对我来说,名称或分支feature/release-1.0是奇怪的。看起来有功能基础的发布,这样的东西。看看http://nvie.com/posts/a-successful-git-branching-model/。查看如何从开发分支提供发布分支,并且这个分支从功能分支接收提交。

希望它有所帮助!