Git 推荐的工作流程

3
我已经在一个只有我自己开发的项目中使用git数月了。我有一个本地仓库并定期将其推送到GitHub以备份。
我想要添加另一个开发者到这个项目中,但是我将负责整合整个项目。
有什么推荐的工作流程吗?
我们需要为每个开发者创建一个私人和公共存储库吗?
如果GitHub存储库是主要的,其他开发者必须克隆这个存储库还是我的电脑上的存储库?
他应该有权在我的存储库中推送还是我从他的存储库中拉取?
3个回答

8
Git更适合于拉取而不是推送。理想情况下,其他开发人员应该从你在Github上的公共仓库克隆;然后,在他完成更改后,你可以从他提供给你的仓库中拉取,或者通过他发送的补丁集成他的更改。无论哪种方式,你都会将更改拉到你电脑上的私有仓库中,修复由合并引起的任何错误,然后将他的更改推送到你的公共仓库(即在Github上的那个)。当然,让他对你的Github仓库拥有提交访问权限也没有问题。

从合作伙伴仓库拉取的命令是什么?类似这样吗:git pull git://127.128.0.1/partner_user_name/project.git - spinlock
1
@spinlock:是的。或者他可以使用这样的URL添加一个命名的远程,然后使用git pull <named remote> - mipadi

5
他可以在GitHub上创建自己的分支,当他准备好进行集成时,可以向您发送拉取请求(其中包含他的仓库公共URL作为远程地址),或者他可以发送git格式补丁集。
通常,在这种工作流程中,主要责任在于他确保他的补丁能够干净地应用到您的公共主分支上。

2
一些建议...确保你们两个都清楚哪些git操作会重写历史记录。重置分支指针、变基、追加提交等操作将重写历史记录,这样做对于私有分支来说没问题,但对于共享的分支(推送或拉取)应避免重写历史记录。
这里有一篇关于使用Git打包软件的文章,非常不错。它面向的是进行大规模集成(例如构建Linux发行版)的人,但原则通常适用。 (原文链接)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接