搁置在TFS中只是一个软签入,以便其他团队成员可以看到源代码吗?
即。搁置的代码不能正确编译?
答案 0 :(得分:439)
搁架有很多用途。主要是:
还有其他用途吗?
答案 1 :(得分:102)
搁置是一种在不签入的情况下保存盒子上所有更改的方法。更改将保留在服务器上。在任何以后,您或您的任何队友都可以“取消”他们的任何一台机器。
它也非常适合审核目的。在我的团队办理入住手续时,我们会搁置我们的更改并发送一封电子邮件,其中包含更改说明和变更集的名称。然后,团队成员可以查看变更集并提供反馈。
仅供参考:审查搁置集的最佳方法是使用以下命令
tfpt review / shelveset:shelvesetName; userName
tfpt是Team Foundation Power Tools的一部分
答案 2 :(得分:33)
没错。如果您创建了一个架子,那么其他进行最新操作的人将无法看到您的代码。
它将您的代码更改放到服务器上,这可能比您的工作PC更好地备份。
如果您有在家工作的冲动,它可以让您在另一台机器上接收更改。
其他人可以看到您的货架(虽然我认为这可能是可选的),因此他们可以在办理登机手续之前查看您的代码。
答案 3 :(得分:14)
我总是遇到这种情况,所以有关分支的补充信息:
如果您正在使用多个分支,则搁置集与您创建它们的特定分支相关联。因此,如果你让架子上的变速器生锈时间过长并且不得不脱离另一个分支,那么你必须使用7月发布的电动工具。
tfpt unshelve /migrate
答案 4 :(得分:13)
在很多这些讨论中遗漏的一点是你如何恢复你搁置变更的SAME机器。也许对大多数人来说显而易见,但对我来说并非如此。我相信您执行撤消待定更改 - 是吗?
我理解过程如下:
因此,如果你想开始一些你可能需要搁置的工作,请确保在开始之前办理登机手续,因为办理登机手续时点是你在撤销待办事项变更时返回的地方上面的步骤。
答案 5 :(得分:2)
搁置就像您的更改已存储在源代码管理中而不影响现有更改。意味着如果您在源代码管理中签入文件,它将修改现有文件,但搁置就像将更改存储在源代码管理中,但不修改实际更改。
答案 6 :(得分:1)
@JaredPar: 是的,您可以使用Shelvesets进行评论,但请记住,搁置集可能会被您自己/其他人覆盖,因此不会长期稳定。因此,对于监管相关的审查,您不应该使用Shelveset作为基础,而是使用checkin(Changeset)。 对于非正式的审查,这是正常的,但不适用于正式(例如FTA相关)审查!
答案 7 :(得分:0)
如果您正在使用Gated构建,则在触发构建时,它会创建工作区的搁置集,并将其提交以进行构建。如果构建失败,则拒绝搁置集。如果构建成功,则创建变更集并将其提交到TFS。在任何一种情况下,执行该签入/构建的人都必须协调工作空间,这就像执行获取最新一样简单。