我是GIT / GitHub的新手(从昨天开始新手)。我想知道用Github管理同一项目中的多个人的最佳方法是什么。目前,我正在与四个开发人员一起管理一个项目。
我该如何进行工作流程并确保一切都同步?
(注意:所有开发人员都将拥有一个通用帐户。)
每个开发人员都需要位于不同的分支吗?
我将能够处理2个使用同一文件的人吗?
请发表详细的答案,我不是一个害羞的读者。我需要很好地理解这一点。
我是GIT / GitHub的新手(从昨天开始新手)。我想知道用Github管理同一项目中的多个人的最佳方法是什么。目前,我正在与四个开发人员一起管理一个项目。
我该如何进行工作流程并确保一切都同步?
(注意:所有开发人员都将拥有一个通用帐户。)
每个开发人员都需要位于不同的分支吗?
我将能够处理2个使用同一文件的人吗?
请发表详细的答案,我不是一个害羞的读者。我需要很好地理解这一点。
Answers:
如果所有开发人员都可以访问该存储库,则无需执行任何特殊操作。他们将从存储库中提取更改,进行自己的更改,在本地提交,然后在工作正常时将其推回到公共存储库中。
另一方面,如果您有一个(或几个)开发人员负责提交回购协议,而其他开发人员则为这些提供补丁。让他们每个人都将存储库克隆到自己的帐户中,并让他们在需要将更改存入主存储库时发送拉取请求。
如果需要,还可以制作特定的克隆以使用特定的功能。功能完成后,将相同的工作流程与拉取请求配合使用以将更改添加到主存储库中。
如果用“所有开发人员将拥有一个通用帐户”来表示所有开发人员将共享一个GitHub帐户并在存储库中显示为同一提交者,那是个坏主意。如果您希望所有人都具有提交访问权限,请分别创建一个帐户并将其设置为协作者。
至于您的具体问题:
不,使用分支进行功能,修复等将需要多次提交。一个分支上可以有多个开发人员。
是的,git能够很好地处理冲突,因此让人们在同一个文件上工作不会有任何问题。毫无疑问,如果对一个以上的成员进行了编辑的文件进行了根本性更改,则解决冲突可能并不总是那么简单。但是,这不是通过共同交谈无法克服的。版本控制不会取代通讯。
祝好运!
git fetch upstream
后跟之类的方法git merge upstream/branch
应该可以使您同步,而无需重写本地提交历史记录。如果这不是问题,只需git pull --rebase
将您本地未进行的更改移动到上游分支的顶部即可。
我们与2个开发人员合作,并且使用以下工作流程:
我在这里只看到文字答案,所以我想我先发布一张不错的gitflow图片。图片描述了一千多个单词:
我与其他3个开发人员一起工作,因此我们为此付出了很多努力。开发人员有时会将提交推送到真正尚未准备好的黄金时段的生产中,因为他们会将其他提交推送到他们的更改中,然后推送到生产中。版本分支对于我们来说似乎可以正常工作。因此,如果版本1.0是当前的稳定版本,我们将为v1.1-development创建一个分支。开发人员将在此分支中进行更改。我们的测试服务器检出该分支,并根据需要提取更改。当v1.1的所有功能准备就绪且测试完成时,我们将v1.1与master和push合并。通过分支机构,开发人员团队A可以使用v1.1,而开发人员团队B可以使用v1.2。两个团队都可以工作而不会互相影响。如果团队A开发出B可以使用的东西,
我们还使用用于立即更改的修补程序分支。
这里是一个链接到这个样子的图片。 http://nvie.com/img/git-model@2x.png