我正在使用git,并设置了以下分支来支持我的工作流:
主题分支从和被合并到开发中。当我们为测试版本做好准备时,测试就会在开发中合并。当测试版本被批准用于生产时,在测试中发布合并。
这一切都很容易设置,但是我想知道git中的执行选项。例如,如果发布分支上的唯一提交是来自测试的合并,从而防止更改直接发生在发布分支上,是否有可能强制执行策略?
发布于 2011-05-31 15:44:11
嗯,算是吧。但我觉得你不想去那里。
正如Jason所说,有一些钩子可以用来防止某些行为。在这种情况下,我们可以使用预提交钩子来阻止任何人运行"git提交“。但这在几个方面是有问题的:
这只会造成比它解决的更多的问题。
但是,您可以通过其他方式解决这个问题。您可以创建一个强制执行这些原则的工作流。例如,假设您有person A负责将测试分支合并到发布分支。如果您只让这个人能够将更改推送到中央存储库(或者说person存储库是“中心”存储库),他/她可以从测试存储库的测试分支或测试器B的测试分支中提取更改(请使用您的想象力)。
在这里,重要的是要认识到,您可以通过设计如何相互交流更改来强制执行策略。并不是每个人都需要能够将自己的更改推送到one存储库。见鬼,他们根本不需要推动他们的改变。测试人员/人员可以从开发人员那里提取更改,只要他们想要测试,就可以让测试人员决定他们什么时候准备好进行新的更改,而不是让开发人员决定什么时候测试人员应该得到他们的东西。同样的原则。
发布于 2011-05-31 14:28:03
您可能需要查看Git流,以获得有关这类工作流程的更多想法。
发布于 2010-11-03 03:05:54
您应该能够通过使用一些git挂钩来执行此操作。
https://stackoverflow.com/questions/4083724
复制相似问题