首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Git repo从已发布的repo中分离出来的良好实践?

将Git repo从已发布的repo中分离出来的良好实践?
EN

Stack Overflow用户
提问于 2012-08-06 02:18:48
回答 2查看 114关注 0票数 1

我们有一个中央Git代码库,开发人员可以从中获取和推送更改。它们在默认的主分支上进行更改。我们的持续集成( CI )工具在这个默认的主分支上构建工件,并且是负责将我们想要测试的东西提升到"UAT“分支的实体(实际上,这是由构建-主控人员在CI工具网页上单击将执行提升的按钮来完成的)。CI工具还负责将代码从UAT提升到"Production“分支。UAT和Production分支的目的是捕获提升到UAT和Production的内容。在UAT分支上没有发生开发,生产将只包含不频繁的“热修复”形式的“开发”,因为我们的开发/发布迭代非常快(1周迭代)。

如果我们可以很容易地做到这一点,我们希望放入一个控件,防止有人错误地直接对UAT和Production分支进行开发更改。一种想法是在中央服务器上有一个钩子,确保只有CI工具用户可以对UAT和生产进行更改。我们还认为我们可以有一个开发人员使用的中央存储库,它只包含主分支,并有第二个存储库,它包含UAT和生产分支。CI工具将与这两个存储库进行通信--它将查看存储库的开发,以查看何时发生更改,并使用第二个存储库将其推广到UAT和生产分支。

这是人们通常做的事情吗(单独的repos用于开发和推广的目的?)它会比服务器钩子方法更好吗?

EN

回答 2

Stack Overflow用户

发布于 2012-08-06 02:28:36

对于您订阅的目的,我想说防止未经授权的提交和合并通过钩子是可行的。您不必特别注意您正在跟踪的遥控器。您还可以轻松地在所有时间内来回合并。

票数 2
EN

Stack Overflow用户

发布于 2012-08-06 03:42:27

我要说的是,克隆git代码库既便宜又易于设置。如果CI用户/构建主机能够将某些内容提升到UAT/production,为什么不将更改推送到单独的存储库?可能类似于linux内核开发模型。每个更改都由开发人员签入,由CI用户测试,然后授权并推送(可能是签名)到发布库中。

即使可以将某些领域的提交限制到特定的人,我也不认为这是使用分布式工具的方法。我真的很喜欢开放存储库,可能还会将其他专用存储库用于某些用途。Git保留了所有内容,您不会因为推入其他repos而丢失信息。因此,作者始终是作者--只有提交者改变了。

这里有一篇关于它的很好的文章,里面有很多信息:What git branching models actually work

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11818898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档