搁架的目的是什么?

时间:2014-01-24 17:27:57

标签: tfs tfs2010

我一直在使用TFS一段时间,但作为一个单独的开发人员,我还没有完全使用它的功能。我现在的任务是与海外的几位同事合作,我们将使用TFS的共享版本。他们的一个过程是搁置,但我不确定如何使用它。我决定玩一玩,但我不确定在创建一个搁架后该做什么。我的流程如下: -

我从TFS打开了一个已完全签入的现有项目,并对其中一个文件进行了简单的更改。然后我创建了一个搁架组。然后我关闭了项目并从源代码管理中重新打开它。我注意到我所做的更改没有应用,这是正确的,但文件仍然检查给我。在这一点上,我的困惑开始了。如果我创建一个搁置集,我应该进行撤消挂起更改,以便将原始文件重新检入TFS,以便我的同事可以使用它们或从中创建构建。

我对这个过程感到有点困惑。

3 个答案:

答案 0 :(得分:21)

根据我的经验,搁置集通常用于3个目的:

  1. 在我准备办理登机手续之前切换任务
  2. 从同事处获取有关无效代码的帮助
  3. 代码评论
  4. 创建搁置集时,您有一个复选框,可以选择是否要同时撤消挂起的更改。

    对于#1,我想检查框以撤消我的更改,因为搁置的整个目的是获得一个干净的本地工作空间以开始新任务。

    对于#2,我可能不会撤消我的更改,因为在同事查看我的代码并帮助我之后,我将继续处理这些更改。

    对于#3,这仅适用于代码审核工作流程是预先签入的情况,在这种情况下,您通常会撤消待处理的更改,以便您可以在等待审核时开始处理下一个项目而不会更改更改。

答案 1 :(得分:4)

仅供参考,此MSDN link提供搁置集的用法:

  • 中断:您有尚未准备好进行检查的待处理更改 in,但你需要处理不同的任务。
  • 协作:您有尚未准备好办理登机手续的待处理更改,但您需要与其他小组成员共享这些更改。
  • 代码审核:您希望其他小组成员对您的待处理更改执行代码审核。
  • 私有构建:在您签入更改之前,您可以使用自动构建系统来构建和测试代码。
  • 备份:您正在进行的工作现在无法完成,因此您需要一个存储在服务器上的备份副本,并且可供其他可能需要访问它的团队成员使用。
  • 切换:您正在进行的工作要转交给其他团队成员。

答案 2 :(得分:1)

从流程角度(在敏捷商店中),主要用途是确保您的代码使用现有代码构建,而不会破坏整个团队的集成分支。上述项目将帮助您完成此任务。

简而言之:如果构建不正确,切勿检查任何内容。保存代码以确保其正常工作,并且在检入之前不会破坏构建。如果您确实破坏了团队的构建,那么您的夜间构建(如果有的话)将无法工作,因此您的测试人员将无法使用新代码要使用的代码库。

注意:您的代码最初可能有错误,但没关系,只是不要破坏构建。如果您的代码不够成熟,无法进行测试(破坏某些内容或整个应用程序),请确保您的代码在应用程序中处于非活动状态。通过简单地将代码注释掉,有很多技巧可以做到这一点,因此您可以检查它以添加某种异常以防止代码运行,除非您在调试期间设置变量。我相信你还可以做其他一百万件事。