当前位置:  开发笔记 > 编程语言 > 正文

我可以在tfs 2008中取消联系到另一个分支吗?

如何解决《我可以在tfs2008中取消联系到另一个分支吗?》经验,为你挑选了2个好方法。

让我们假设我的团队中的一些开发人员搁置了他在分支A中所做的更改.我正在分支B工作.我可以将他的更改取消分支B吗?(通过GUI或命令提示符)



1> Curt Hagenlo..:

在Visual Studio的电动工具应该让你这样做.

C:\src\2\Merlin\Main>tfpt unshelve /?
tfpt unshelve - Unshelve into workspace with pending changes

Allows a shelveset to be unshelved into a workspace with pending changes.
Merges content between local and shelved changes. Allows migration of shelved
changes from one branch into another by rewriting server paths.

Usage: tfpt unshelve [shelvesetname[;username]] [/nobackup]
                     [/migrate /source:serverpath /target:serverpath]

 shelvesetname          The name of the shelveset to unshelve
 /nobackup              Skip the creation of a backup shelveset
 /migrate               Rewrite the server paths of the shelved items
                        (for example to unshelve into another branch)
 /source:serverpath     Source location for path rewrite (supply with /migrate)
 /target:serverpath     Target location for path rewrite (supply with /migrate)
 /nobackup              Skip the creation of a backup shelveset

例如,要将Branch1上创建的名为"Shelve Set Name"的搁架集合并到Branch2,请使用以下命令:

>tfpt unshelve "Shelve Set Name";domain\userName /migrate /source:"$/Project/Branch1/" /target:"$/Project/Branch2/"


是的,电动工具应该让你这样做,但不幸的是每次合并都非常错误,所以它是无用的.
噢......柯特,我想你刚刚结束了我的一天.我将来必须尝试.
刚试了一下.我在架子集中移动了很多文件,不幸的是,这似乎不太好用.您需要手动"迁移"所有这些文件(也没有多选).然后将它们作为新文件添加到工作区.我不能使用它,因为我不能再合并它了.

2> Simon_Weaver..:

tfpt的替代解决方案,可避免必须手动合并每个文件

tfs电源工具的问题在于您正在进行"无基础合并",因此必须确认每个文件.我有超过800个文件的搁置,我从不相信'自动合并'按钮,并且不想依次浏览每个文件 - 所以我必须找到另一种方式!

下载并安装TFS Shelveset Sidekick.

该工具显示在VS2010的"工具"下

运行"Shelveset Sidekick"工具,单击"搜索"以显示搁置集

右键单击您的shelveset并选择"Export Shelveset"

保存到空白位置,例如 C:\temp\shelveset-name

现在有一个包含JUST新文件的完整目录结构

(注意:导出时没有进度条 - 所以如果你有一个需要很长时间才能导出的大型搁置集,你只需要在Windows资源管理器(文件>属性>大小)中检查文件是否仍然存在,如果你认为它冻结了).

您现在只需使用Windows资源管理器将它们复制到新分支.

这对我有用:

首先检查整个解决方案(在新分支中)

关闭该解决方案

从VS中取出TFS离线(工具执行此操作) - 请参阅下面的重要原因...

在Windows资源管理器中复制文件.c:\temp\shelveset-name必须重命名目录结构以对应于新分支.提示:确保复制到正确的位置!

在线提供VS.

它应该找到所有更改并添加新文件

如果它要求您绑定sourcecontrol,请确保验证新分支的路径是否正确.

测试 - 然后检查新文件

重要提示:我发现,如果你没有先将TFS脱机,那么你最终会得到任何新的文件(来自你的unshelves变更集)显示没有一点红色复选标记,你将不得不排除并再次包含它们让他们添加.如果有人有这个问题的替代解决方案,我很想知道 - 刷新似乎不起作用.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有