Visual Studio 2017无法将Shelveset移动到另一个分支

Ran*_*iff 18 visual-studio-2017 tfs2017

由于他们已经将大部分Power Tools功能集成到VS2017中,因此新命令"tf unshelve"与旧命令"tfpt unshelve"的工作方式不同,无法将shelvesets移动到另一个分支,因为您无法添加源和目标使用新命令.我真的不想在我的笔记本电脑上安装VS2015只是为了移动一个shelveset.有谁知道如何用VS2017做到这一点?我很难相信这已经不可能了.

非常感谢任何帮助!

Nat*_*han 8

另一个解决方案...

  1. 从现有架子集中检入更改(变更集1)
  2. 将更改合并到另一个分支并签入(更改集2)
  3. 回滚来自变更集1的更改。

这将保留更改集2的更改并回滚原始分支。

此过程可能不适用于所有公司及其政策,但确实可以。我不喜欢它,但是有时候这是必要的。

  • 我对此表示赞同。我不喜欢它,但是在花了很多时间在其他事情上之后,这确实是唯一可以节省时间的方法。我想说的是,根据团队的速度,您可能需要检入变更(变更集a),然后立即回滚(变更集b),在旧分支中创建背对背的变更集。然后,只需将变更集a合并到新分支中并使用它即可。现在,您有时间在本地对其进行调试,测试构建和内容,而无需在所有人尝试错误地使用旧分支上的变更集a之前快速进行修改。 (2认同)

And*_*SFT 6

遗憾的是,VS 2017目前尚不支持使用命令“ tftp unshelve”或“ tf unshelve” 将Shelveset移至Another Branch 。

就像下面提到的Youhana Naseim [MSFT]一样,这里已经提交反馈来跟踪该反馈在此处提供):

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

  • TFS Windows Shell扩展集成

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

  • 搁置/迁移

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


Dut*_*man 6

我绝对同意,这是2017年及以后的版本大为错过的功能。经过多次手动操作后,我决定将其添加到名为“ MultiMerge”的(免费)Visual Studio扩展中。现在,您可以右键单击架子集,然后选择目标分支。有一个VS2017版本和VS2019。或者,您可以简单地使用Visual Studio中的“工具和扩展名”菜单选择此扩展名。

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

  • 抱歉,伙计,听起来你的架子集很复杂。该插件将尝试找出要使用的工作区,并使用与搁置集中第一个文件匹配的第一个工作区。它不会检查整个搁置集中的所有文件是否都已映射。如果您可以传递我应该使用的代码,唯一的起点是 PendingsChange 列表(在命名空间 Microsoft.VersionControl.TeamFoundation.Client 中),我洗耳恭听。我可以提供的唯一解决方法是:限制您的 WorkSpaces。我总是(超过 15 年)使用一个单一的,它可以映射所有内容(巨大的源库),而且效果非常好。 (2认同)
  • @scor4er 有一个 2022 版本,但我没有使用过:https://marketplace.visualstudio.com/items?itemName=Jesusfan.MultiMerge2022 (2认同)

Kel*_*lon 5

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

tf reconcile /promote
Run Code Online (Sandbox Code Playgroud)

检测所有添加或更改的文件。


归档时间:

查看次数:

10523 次

最近记录:

6 年,8 月 前