如何:搁置和取消搁置挂起的更改

更新:2007 年 11 月

搁置功能可以保留工作区中的挂起的更改而执行更高优先级的任务,也可以与其他用户共享代码以进行代码评审。

通过执行“获取最新版本”操作,将您的工作区与最新的服务器版本同步。然后您需要生成应用程序,以确保在搁置或签入之前对其进行编译。通过执行此操作,您将有机会合并在工作区之外对受版本控制的文件所做的更改。

必需的权限

若要取消搁置挂起的更改,您必须将“读取”权限和“签出”权限都设置为“允许”。对于执行搁置任务,则没有权限要求。有关更多信息,请参见 Team Foundation Server 权限

从源代码管理资源管理器搁置文件夹和文件

  1. 在“源代码管理资源管理器”中,右击该文件或文件夹,再单击“搁置挂起的更改”。

  2. 在“搁置 - 源文件”对话框的“搁置集名称”框中键入搁置集名称,例如“搁置测试”。

  3. “搁置 - 源文件”对话框包括两个选项:

    • 在本地保留挂起的更改

      默认情况下此选项处于选中状态。如果选中了此选项,将保留您在本地工作区中对文件或文件夹所做的更改。

    • 在搁置之前评估策略和签入说明

      如果选中了此选项,将在创建搁置集之前评估所有签入策略。有关更多信息,请参见使用签入策略和签入说明

  4. 在“注释”框中键入“测试我的搁置集”,然后单击“搁置”。

    文件和文件夹将复制到版本控制服务器,其他团队成员可以对它们执行取消搁置操作。

从解决方案资源管理器搁置文件夹和文件

  1. 在“解决方案资源管理器”中右击,再单击“搁置挂起的更改”。

  2. 在“搁置 - 源文件”对话框的“搁置集名称”框中键入搁置集名称,例如“搁置测试”。

  3. “搁置 - 源文件”对话框包括两个选项:

    • 在本地保留挂起的更改

      默认情况下此选项处于选中状态。如果选中了此选项,将保留您在本地工作区中对文件或文件夹所做的更改。

    • 在搁置之前评估策略和签入说明

      如果选中了此选项,将在创建搁置集之前评估所有签入策略。有关更多信息,请参见使用签入策略和签入说明

  4. 在“注释”框中键入 Testing my shelveset,然后单击“搁置”。

    文件和文件夹将复制到版本控制服务器,其他团队成员可以对它们执行取消搁置操作。

从“挂起的更改”窗口搁置挂起的更改

  1. 在 Visual Studio 集成开发环境 (IDE) 中,如果尚未打开“挂起的更改”窗口,请依次单击“视图”、“其他窗口”和“挂起的更改”窗口。

  2. 在“挂起的更改”窗口中,单击“源文件”图标,然后选择要搁置的文件。

  3. 单击“工作项”,然后添加或移除工作项。对于您添加的每个工作项,从“签入操作”列中选择“解决”或“关联”。

  4. 选中或清除“在本地保留挂起的更改”或“在搁置之前评估策略和签入说明”框。

    说明:

    根据所选的选项,搁置操作会将一组受版本控制的文件修订、签入说明和一个相关工作项列表移动或复制到服务器之外的位置。这样,您就避免了因不小心而中断生成的风险。

  5. 单击“搁置”。

  6. 在“搁置 - 源文件”对话框中,在“搁置集名称”框中键入一个名称。

  7. 在“注释”框中键入注释,然后单击“搁置”。

从命令行搁置挂起的更改

  1. 单击“开始”,单击“所有程序”,指向“Microsoft Visual Studio 2008”,指向“Visual Studio Tools”,然后单击“Visual Studio 2008 命令提示”。

  2. 键入 cd 路径,其中路径 是用于存储服务器内文件的个人副本的目录位置(例如 c:\projects)。

  3. 键入 tf.exe shelve 搁置名称,然后按“Enter”。

    将出现“搁置 - 源文件”对话框。

  4. “搁置 - 源文件”对话框包括两个选项:

    • 在本地保留挂起的更改

      默认情况下此选项处于选中状态。如果选中了此选项,将保留您在本地工作区中对文件或文件夹所做的更改。

    • 在搁置之前评估策略和签入说明

      如果选中了此选项,将在创建搁置集之前评估所有签入策略。有关更多信息,请参见使用签入策略和签入说明

  5. 在“搁置 - 源文件”对话框中,选择要搁置的文件和文件夹,然后单击“确定”以完成搁置操作。

    说明:

    有关搁置命令的可用完整语法,请参见Shelve 命令

取消搁置

在对搁置集取消搁置时,只要每个已搁置的修订与工作区中挂起的更改不冲突,Team Foundation 就会将该修订还原到目标工作区中作为一个挂起的更改。有关取消搁置过程中所发生情况的更多详细信息,请参见使用版本控制搁置集

以下是对搁置集取消搁置的两条最常见的原因:

  • 无接触代码评审(即工作区模拟)

  • 将已搁置的挂起更改集成到以后的工作中

可以使用 unshelve 命令将单个文件修订从搁置集还原到工作区。但是,取消搁置不会将整个工作区还原到基本工作区版本,即搁置的修订所基于的服务器版本。取消搁置后,执行以下任一操作可以避免在代码中引入时间不一致。

取消搁置一组挂起的更改

  1. 在团队资源管理器中,单击“文件”,指向“源代码管理”,然后单击“取消搁置挂起的更改”。

    将出现“取消搁置”对话框。

  2. 在“所有者名称”框中,键入搁置集创建者的姓名(如 ADVENTUREWORKS\JuanGo 或只键入 juango),然后单击“查找”。

  3. 在“结果”窗格中,选择要取消搁置到工作区中的搁置集,然后单击“详细信息”。

  4. 在“搁置集详细信息”对话框中,如果要从 Team Foundation 版本控制服务器上删除搁置集,则清除“将搁置集保留在服务器上”框。

  5. 如果不希望还原与搁置集关联的工作项和签入说明,还可以取消选中“还原工作项和签入说明”选项。

  6. 选择要取消搁置到工作区中的搁置集或搁置集项,然后单击“取消搁置”。

Get 操作会自动合并文件两个版本之间的可协调差异,从而帮助您手动合并冲突。但取消搁置操作则不同,它不支持合并。通过在开始评审代码时将已搁置的挂起的更改工作区中移除,可以确保审阅者对搁置集所做的任何更改(例如向文件添加注释)不会在取消搁置过程中产生合并冲突。

您也可以使用 Unshelve 命令 从命令行执行取消搁置。

请参见

任务

如何:查看和管理工作区中所有挂起的更改

概念

使用版本控制搁置集

挂起的更改

参考

Shelve 命令

Unshelve 命令