TFS中的搁置仅仅是一种软签入,以便其他团队成员可以看到源代码吗?

即搁置的代码将不会被编译,对吗?


当前回答

我经常遇到这个,关于分支的补充信息:

如果您正在处理多个分支,则搁置集将绑定到创建它们的特定分支。因此,如果您让一个变更集在货架上生锈太久,并且不得不将其释放到不同的分支,那么您就必须在7月份发布的电动工具中这样做。

tfpt unshelve /migrate

其他回答

搁置就像将更改存储在源代码控制中,而不影响现有更改。意味着如果你在源代码控制中签入一个文件,它会修改现有的文件,但搁置就像在源代码控制中存储你的更改,但不修改实际的更改。

如果您使用的是Gated构建,那么当一个构建被触发时,它会为您的工作空间创建一个提交用于构建的搁置集。如果构建失败,搁置集将被拒绝。如果构建成功,则创建一个变更集并将其提交给TFS。在任何一种情况下,执行签入/构建的人都必须协调工作空间,这就像执行Get Latest一样简单。

@JaredPar: 是的,你可以使用搁置集进行审查,但请记住,搁置集可以被自己或他人覆盖,因此不是长期稳定的。因此,对于法规相关的审查,您永远不应该使用搁置集作为基础,而应该使用签入(变更集)。 对于非正式的审查,这是可以的,但对于正式的(例如与自由贸易协定相关的)审查就不行!

搁置是一种在不签入的情况下保存所有更改的方法。更改被持久化在服务器上。在以后的任何时候,您或您的任何队友都可以将它们“解置”到您的任何一台机器上。

它也非常适合复习。在我的团队中,为了签入,我们将更改搁置起来,并发送带有更改描述和更改集名称的电子邮件。然后,团队成员可以查看变更集并给出反馈。

供您参考:查看搁置集的最佳方法是使用以下命令

tfpt review /shelveset:shelveset;用户名

tpt是Team Foundation Power Tools的一部分

很多讨论都忽略了一点,即如何在搁置更改的同一台机器上恢复。也许对大多数人来说是显而易见的,但对我来说不是。我相信您执行了撤销挂起的更改-对吗?

我理解的流程如下:

若要搁置当前挂起的更改,请右键单击项目“搁置”,并添加搁置名称 这将保存(或搁置)对服务器的更改(没有人会看到它们) 然后执行“撤消挂起的更改”将代码恢复到最后一个签入点 然后,您可以对恢复的代码基线执行您需要执行的操作 您可以在任何时候取消更改(可能需要一些合并冲突)

因此,如果您想开始一些可能需要搁置的工作,请确保在开始之前签入,因为签入点是您在执行上面的撤消挂起的更改步骤时将返回的位置。