是否可以使用悲观方法在单个分支上工作?

时间:2019-01-14 13:00:49

标签: git tfs azure-devops

我和我的团队将使用Trunk Based Development方法进行工作。在VSTS中(或更广泛地说,在Git中)是否可能仅具有master分支,并且在每个push之后(以及merge之前)都可以进行验证-运行测试。图片为例:

enter image description here

除极少数情况外,没有人在分支机构工作。团队倾向于将一小段代码直接提交给母公司。

有可能实现吗?

1 个答案:

答案 0 :(得分:2)

您可以为此使用“拉取请求”,设置验证版本并将其设置为成功后自动提交。它确实需要服务器端主题分支,因为构建系统无法从您的本地存储库合并。

您将需要在本地完成工作,将其推送到临时主题分支,让请求请求验证构建运行,并在成功后自动提交并删除分支。

替代

服务器上没有用于处理新提交的“后接收挂钩”,但是您可以做的是设置更多工作:

  • 添加第二个存储库,并将相同的内容推送到那里。
  • 配置客户端以拆分其推拉式遥控器。从主存储库中拉出,然后推送到新创建的存储库。
  • 在新存储库上创建构建以验证新推送的提交。
  • 在构建末尾添加一个条件任务,将内容推送到主存储库。
  • 在构建的末尾添加一个条件任务,如果构建失败,该任务会将存储库还原到最后一次已知的状态。

这样,人们只能从最新的“成功”存储库中提取信息。

替代2

您可能还希望查看资源管理器,展开,提取,(测试和&提交)||。还原和凌波!作为要研究的分支模型。这些模式来自Uber和Facebook,它们在一个分支上与太多人一起工作,无法使用拉取请求。

他们致力于开发非常强大的TDD样式,其中只有在测试通过并且代码被提早并经常推送的情况下,才提交代码。

另请参阅: