Visual studio 2017 Visual Studio 2017无法将搁置集移动到其他分支

Visual studio 2017 Visual Studio 2017无法将搁置集移动到其他分支,visual-studio-2017,tfvc,Visual Studio 2017,Tfvc,由于据称他们已将大多数电动工具功能集成到VS2017中,因此新命令“tf unshelve”的工作原理与旧命令“tfpt unshelve”的工作原理不同,无法使用新命令添加源和目标,从而将搁置集移动到另一个分支。我真的不想在我的笔记本电脑上安装VS2015只是为了移动搁置集。有人知道如何使用VS2017实现这一点吗?我很难相信这已经不可能了 非常感谢您的帮助 不幸的是,在VS 2017中,现在仍然不支持使用命令“tftp unshelve”或“tf unshelve”将搁置集移动到另一个分支

由于据称他们已将大多数电动工具功能集成到VS2017中,因此新命令“tf unshelve”的工作原理与旧命令“tfpt unshelve”的工作原理不同,无法使用新命令添加源和目标,从而将搁置集移动到另一个分支。我真的不想在我的笔记本电脑上安装VS2015只是为了移动搁置集。有人知道如何使用VS2017实现这一点吗?我很难相信这已经不可能了


非常感谢您的帮助

不幸的是,在VS 2017中,现在仍然不支持使用命令“
tftp unshelve
”或“
tf unshelve
”将搁置集移动到另一个分支

正如下面提到的Youhana Naseim[MSFT]一样,已经有了一个方法来跟踪这一点(来源):

对于VS 2017,我们没有电动工具版本。我们经常 评估产品中仍然缺少的功能。这个 三个最值得注意的问题是:

  • TFS Windows外壳扩展集成

  • 按服务器工作区的状态查找

  • 取消搁置/迁移

因此,作为解决方法,您可以尝试以下方法:

  • 使用和命令在中实现这一点 两个步骤。
    1). <代码>c:\projects>tf取消搁置 2). <代码>c:\projects>tf rename 314.c..\newdir\1254.c
  • 手动将搁置的文件复制到目标文件夹,并与 服务器版本为Alexander Nikonov
  • 安装VS2015和
另一个解决方案

  • 签入现有搁置集(变更集1)中的更改
  • 将更改合并到另一个分支并签入(更改集2)
  • 从变更集1回滚更改
  • 这将保留来自变更集2的更改,并回滚原始分支


    这一过程可能不适用于每个公司及其政策,但确实有效。我不喜欢它,但有时它是必要的。

    当我知道工具架集可以直接覆盖分支文件时,我是这样做的。如果需要合并,则使用win merge with directory compare将内容重新缝合在一起

    • 关闭Visual Studio的所有实例
    • 将本地源目录重命名为临时名称
    • 开放式Visual Studio
    • 正常取消搁置您的更改-VS将仅使用您的更改重新创建目录结构
    • 将所有更改的文件复制到分支目录(覆盖只读文件)
    • 关闭visual studio
    • 将您的本地源目录重命名回其原始名称(删除一个VS重新创建的目录)
    • 重新打开您的分支项目
    • 现在有两种选择:你可以先脱机,然后再联机,让VS知道发生了什么变化,或者只是签出整个文件夹,然后再次签入。在你做之前,确保你没有检查过任何其他东西
    遗憾的是,这还没有成为VS的一个本土特征,但是当你考虑到联合国搁置的复杂性,代码合并,并保存历史等,任务变得复杂。祝你好运

    到目前为止(2020年2月),TSPT在Visual Studio中不可用


    我发现的解决方法是创建一个新分支,并使用WinMerge()之类的工具比较和合并从主分支到新分支的更改,然后在一切正常时撤消主分支上的更改。

    我完全同意这是2017年及以后的一个重大遗漏。在多次手动执行此操作后,我决定将其添加到名为“MultiMerge”的(免费)Visual Studio扩展中。现在可以右键单击搁置集并选择目标分支。有一个版本和一个版本。或者,您可以使用VisualStudio中的“工具和扩展”菜单简单地选择此扩展


    请随意对扩展进行评分,并让其他人更快地找到它:)

    使用VS2019的另一种可能更简单的方法是将源文件夹复制/粘贴到分支目标文件夹并使用

    tf reconcile /promote
    
    检测所有添加或更改的文件。

    多重合并扩展名(,)对我来说非常有用。 (或者更确切地说,TFVC工具本身无法通过重新应用补丁进行合并。)


    2017年和2019年相比,无tfpt。
    unshelve/migrate
    命令也未合并到
    tf
    中。所以到目前为止,还没有什么是现成的。(最后一次检查是在v16.7.5上)

    @Rani Radcliff您解决了这个问题吗?有更新吗?我也有同样的问题,但不明白
    tf rename
    有什么帮助。您能提供更详细的示例吗?您好,我只想指出,安装2015 Power Tools不是一个解决方案-如果机器上没有Visual Studio 2015,它将不会安装tftp Exe!(我认为)现在有一个请求可以在新的开发者社区网站@JonoB上投票——或者你可以在DevComm上投票表决已经打开的问题。(这是答案的第一个超链接)相关问题:我对此投了更高的票。我不喜欢它,但在其他事情上花费数小时后,这真的是唯一有效和节省时间的事情。我想说,根据团队的速度,您可能希望签入更改(更改集a),并立即回滚(更改集b),在旧分支中创建背对背的更改集。然后将变更集a合并到您的新分支中并使用它。您现在有时间在本地调试它,测试构建和其他东西,而不必在任何人试图错误地在旧分支上使用变更集a之前快速将其正确完成。非常简单。谢谢。我尝试了这个并得到:“没有$/branch/shelveset/is/in/和/first/shevled/file/path的工作文件夹映射”我有多个此分支的活动工作区。在加载源工作区项目的情况下,使用VS2017中的“取消搁置到分支”。对不起,伙计,听起来你有一个复杂的搁置集。插件将尝试找出哪个w