2

我们有一个设置,我们在内部使用 git 来完成我们的工作,同时我们交付工作的客户也自己使用 git。

我们还希望在 2 个 repo 之间有一个严格的界限,这样客户就不会参与我们的 repo 工作流程(内部问题、用户、PR 政策等),我们也不想参与他们的工作。

我们正在考虑这样的工作流程:

  1. our-repo我们的开发人员在development分支中完成所有工作(设置为默认值)
  2. 我们的仓库管理员可以访问client-repo(意味着他有 2 个遥控器:our-repoclients-repo
  3. 一旦某些东西准备好部署(意思是被推送到我们的master分支),他就会得到它并将其推送到clients-repo
  4. 如果客户自己做了一些更改(罕见但可能),我们的管理员会得到它并合并到our-repo

这个设置会起作用吗?我错过了什么重要的东西吗?有没有更好的选择?

4

2 回答 2

3

我认为拥有两个在逻辑上都包含相同(或至少非常相似)代码的独立存储库是不必要的,而且通常是个坏主意。我建议你只维护一个回购。使master分支(可能还有其他分支)在 GitHub 中受到保护。您可以阅读启用分支限制以获取有关如何执行此操作的更多信息。

当您的客户想要做他们自己的工作时,只需让他们创建一个新的功能分支。如果他们愿意,他们可能会创建一个拉回请求master,您和您的内部团队可以在合并之前仔细审查。由于master不会受到保护,您的客户将永远无法直接更改代码库。

于 2018-11-09T06:14:28.340 回答
1

我在https://help.github.com/articles/repository-permission-levels-for-an-organization/看到了 github.com 的权限矩阵

如果我们的团队和我们的客户同时使用 github.com,您的愿望不可能成为现实(让我们在行中查看矩阵Open issues,拉取等)

我有个主意

因此,我们的客户无法看到拉取请求流程、问题、问题讨论等。他们只能看到我们团队提供给他们的源代码。

于 2018-11-09T06:27:49.580 回答