git - 在 Github 中管理私有(private)仓库

标签 git github

我想在 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/

相关文章:

xcode - 将 GitHub for mac 与旧的 Xcode 项目一起使用

Git 日志输出到 XML、JSON 或 YAML?

git - 有选择地将文件和目录移动到新的仓库(保留历史记录)

git - html 导出不同的分支

git - 推送到 git 远程分支

git - 如何检索在git中两次提交之间更改的maven模块列表

bash - Git 不使用 SSH key 对 Azure DevOps 进行身份验证

ubuntu - 在 Ubuntu 上的/var 目录中使用 ssh key

Git:从其他远程 pull

git - 如何挑选选定的提交集?