我想在 Github 上解决一个非常基本的问题。我有一个私有(private)存储库(通过组织),我需要找出设置它的最佳方法,以便我的团队可以推送到 master 分支下的分支,但不能推送到 master 分支本身。
我知道一种方法是拥有两个独立的私有(private)存储库,一个是“主”存储库,另一个是“暂存”存储库。然后只有我可以访问“主” repo ,但团队可以访问“暂存” repo 。然后我会将更改从“staging” merge 到“master”。
但我不确定我是否了解如何从“master”存储库创建“staging”存储库,也不知道如何将更改 merge 回“master”。
这是我要完成的工作的粗略图表(在线上方是“master”repo,在线下方是“staging”repo):
master (only me)
-----------------------------
--> staging (team)
--> feature 1
--> team member 1
--> feature 2
--> team member 2
--> team member 3
有什么想法吗?
最佳答案
对于 DVCS,分支和发布(推/pull )是 two orthogonal concepts .
这意味着您不必关心您的合作者正在推送到哪些分支,只要他们正在推送到他们自己在 GitHub 上的(分支的)私有(private)仓库。
您是唯一能够在您的私有(private)仓库中选择的分支中导入他们建议的内容(通过 pull request )的人。
当我看到生命周期步骤(“staging”、“testing”、“QA”、“...”)时,我更喜欢为我需要的每个步骤设置一个单独的 repo,以便拥有尽可能多的分支想要在每个单独的 repo 协议(protocol)中。
关于git - 在 Github 中管理私有(private)仓库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6496790/