TFS提交最佳实践?

时间:2014-03-10 13:02:00

标签: version-control tfs

在我之前的工作中,鼓励程序员经常使用注释来签入代码。在我现在的新工作中,规则是没有人检查任何东西,直到他或她的代码是QA'ed。但由于QA落后太多,我们很少能够办理登机手续。我们可能每两周左右登记一次。当我们被要求办理登机手续时,要弄清楚哪些机票需要办理登机手续,这真的是一件痛苦的事情。你们是否理解这种痛苦?结果是,我们的程序员经常忘记检查某些重要文件以获取某些票据。另一个结果是:我已经为故障单1和故障单2修改了file1.html。现在我们要求仅检查故障单1的更改,然后我必须在我的解决方案之外保存file1.html的副本然后确定故障单1的更改,并在我办理登机手续之前删除故障单2的更改。痛苦!

你的建议是什么?我该怎么说才能说服这里的团队停止这个办理登机手续的政策,并允许我们在QA'ed之前经常办理登机手续?谢谢!

1 个答案:

答案 0 :(得分:2)

我说你似乎很清楚这个问题,你只需要列出这两种方法的利弊。

  • 在以后办理登机手续时容易出错的挑选文件
  • 您签入的版本/文件可能与QA测试的版本/文件不匹配。理想情况下,QA应该测试将要发布的相同代码,并使用您的版本控制系统来强制执行该操作。
  • 包含可能存在或可能不存在于同一版本中的其他更改的QA测试代码可能会导致测试通过/失败,这些错误依赖于在发布中的代码。这可能会使QA流程无效。
  • 你所做的与大多​​数其他团队所做的不同(老实说,这通常会与经理人产生共鸣,而不是其他方面 - 至少我作为顾问的经历)

这听起来像你的团队想要实现的是拥有一套完全经过QA并且随时可“释放”的代码。这是一个很好的目标,但通常通过使用适当的分支策略来实现。

一种方法是按功能进行分支(这基本上是您现在尝试做的,只是没有版本控制系统的支持)。这意味着您为每个独立的更改/功能都有一个分支。 QA发生在您的功能分支上。一旦QA通过,该功能分支就会合并到MAIN(又名主干)。

这样开发人员就可以拥有自己的功能分支,他们可以经常办理登机手续(最佳做法是每天至少办理一次登机手续)。并且您仍然拥有仅限于已通过QA(MAIN)的代码的代码副本,并且始终处于发布准备状态。

如果您没有说服他们,您也可以使用本地Git存储库来保持个人更改的组织,然后在签到时使用Git-tfs工具将它们发送到TFS。