我检查了一个我想要工作的 git 项目。我没有推送权限,所以我将向上游维护者提交补丁。我想创建自己的分支,并在该分支上与其他几个人合作。工作完成后,我想根据主项目的当前负责人重新设置我的分支并将补丁发送给上游维护者。问题是:如何组织在一个分支上工作的一组人之间的协作?
目前我使用以下设置:
- 我有自己的 git 服务器,我在上面保存了 repo 的裸副本。
- 我将我的工作分支存储在该服务器上
- 其他开发人员将他们的更改推送到服务器上的该分支并提取其他人所做的更改,因此服务器充当所有在分支上工作的人的中央存储库
- 对 master 所做的更改是从项目的上游存储库中提取的。
- 如果需要,可以将 Master 推送到我的服务器
我认为这是一个很好的设置,但我意识到如果我决定将我的分支重新定位到来自上游的当前主服务器,那么一切都会中断。如果我将重新设置的分支推送到我的本地服务器,它最终会成为其他人的灾难,所以显然这不是一个正确的设置。我和我的朋友讨论过这个问题,他指出问题是由于使用我自己的本地服务器作为所有开发人员的中央服务器造成的,就好像它是一个颠覆存储库一样。因此,虽然我认为我们意识到了问题的根源,但我们并没有想出一个正确的方法来组织我们的 git 工作流。这应该怎么做?