我有两个git repos,一个用于我正在编写的库的普通源代码,另一个用作测试环境。我会分别称他们为prod
和dev
。
提交者拉动和推送dev
,然后一旦dev
达到可释放状态,包含源代码的子目录将被推送到prod
。这是通过在prod
中将dev
设置为git子模块来完成的。这很容易。
现在,有一个外部贡献者。从prod
获取源代码的人,因为这是他们项目所需的全部内容,他们继续将其作为子模块。
然而,我不希望他们推动刺激,因为如果没有在dev
进行测试,就有可能搞砸了。所以,我希望他们推送到dev
,特别是dev
中包含源代码的子目录,所有常规贡献者都可以下载并测试和处理等等,等。
这可能吗? 应该如何我设置了这样的东西?我应该把这样的东西分成单独的回购吗?
答案 0 :(得分:0)
查看Pro Git书籍章节5.1 Distributed Git - Distributed Workflows中列出的工作流程。您可以使用 Integration-Manager工作流程。你有一个受祝福的存储库,每个人都可以从中获取,但没有人能够推动。集成商将具有推送权限,并将从所有开发人员中获取更改,集成它们,并将它们推送到该受祝福的存储库。所有回购都是相同的(没有dev
或prod
),你可以让人们在dev
分支上工作,以便更容易整合东西在将它们合并到master
之前正确。这确实对该角色中的一个或多个人进行了大量的集成工作,但这也意味着至少有一个人对整个项目保持了非常好的概述。
我认为将子模块用于生产就绪代码非常罕见。这真的是分支机构擅长的,通常用于。