让我们假设一些开发在我的团队搁置了他的变化,他没有在分A。和我的工作分B。我可以取消搁置他变成分B?(通过GUI或命令提示)

有帮助吗?

解决方案

Visual Studio Power Tools 应该允许您这样做。

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到Branch2上创建使用:

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

其他提示

替代解决方案tfpt,以避免具有合并的每个文件的手

该问题与tfs力工具, 你在做'毫无根据的合并的',因此必须确认每个文件.我不得不搁置集超过800文件和我永远不会相信的'自动合并键和不想要经过每个文件,反过来-所以我得找另一种方式!

  • 下载,安装 TFS搁置集的搭档.
  • 该工具将出现下的"工具"在VS2010
  • 运行'搁置集的搭档工具、"搜索",以显示搁置集
  • 右击你的搁置集和选择的出口搁置集'
  • 保存到一个空位置如 C:\temp\shelveset-name
  • 现在有一个完整目录结构只包含新的文件

(注:有没有进展酒吧时,出口-所以如果你有一个大的搁置集,需要长时间的出口,你就不得不在检查窗户浏览器(文件>性>大小),本文件仍然下来,如果你认为这是冻结)。

你现在只需要复制他们到新的分支Windows资源。

这个工作对我说:

  • 检查整个方案第(在新的分支)
  • 关解决方案
  • 采取TFS离线从内VS(工具来做这个) - 见下文对为什么这是重要的...
  • 复制的文件,在Windows资源管理器。该目录的结构 c:\temp\shelveset-name 将必须重新命名为相对应的新的分支。 提示:确保你复制到正确的地方!
  • 把VS在线
  • 它应该找到的所有更改和添加新的文件
  • 如果它要求你结sourcecontrol一定要验证的道路是正确的新的分支。
  • 试验,然后提交的新的文件

重要的是:我发现如果你不首先采取TFS离线然后你就会结束了任何新的文件(从你的unshelves集)表示没有一点红色的标记和检查你就必须排除,并将它们包括再次获得它们的补充。如果任何人有另一种解决这问题我想知道-爽不到工作。

货架信息包括其前往的特定路径。不幸的是,我不知道任何自动的方式来取消搁置到它所搁置的任何位置以外的任何位置。我想要这样做的时候我必须检查新分支中的等效文件,从旧分支中取消,然后手动复制文件。

编辑:嗯,我想我是在努力做到这一点。我将不得不尝试Curt的解决方案。 :)

我花了大量的时间来完成这件事和我有几个问题需要克服。这是可能的,但这里的几个问题和一些规则,遵循以avois这些问题

错误:

无法确定工作区的

这个特别的问题得到解决,通过运行命令 来源 分根文件夹。这是违反一些答案在那里,他们说,使用"目标"分支-不,使用"来源":

cd [your !!source!! branch root]
tfpt unshelve /migrate /source:"$/MyCollection/Development/Maint1.1" /target:"$/MyCollection/Development/Maint1.2" "myShelveset;UserName"

第二个问题出现后,这一点。看起来,这不能连接到TFS服务器。什么,我意识到我有多VS安装和连接不同的TFS服务器。我是使用VS12和我有工作空间和服务器的连接。但我没有意识到,同样需要复制在型号:vs13为TFPT2013工作。它连接到相同的服务器和工作空间。

我也试过这样做使用TFPT2015但是我安装了它,并且它没有安装TFPT.exe 因此它是无用的。所以我试图自TFPT2013到TFS2015和它的工作对这个特别的命令。我不知道,为什么没有,如果VS12/13的工作的现对TFS2015?

总结

  • 使用CMD或DevCMD-没关系
  • 运行命令 来源 分根文件夹
  • 验证团队资源管理服务器连接的具体VS
  • TF电动工具2013年工作对TFS v15,至少 迁移 选择工作
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top