私のチームの一部の開発者がブランチ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で作成された「Shelve Set Name」というシェルフセットをBranch2にマージするには、次を使用します。
>tfpt unshelve "Shelve Set Name";domain\userName /migrate /source:"$/Project/Branch1/" /target:"$/Project/Branch2/"
シェルフ情報には、移動先の特定のパスが含まれます。残念ながら、棚上げされた場所以外の場所に自動的に移動する方法は知りません。これを実行したかったときは、新しいブランチの同等のファイルをチェックアウトし、古いブランチから棚上げを解除し、ファイルを手動でコピーする必要がありました。
編集:まあ、私はそれを難しい方法でやっていたと思います。カートのソリューションを試してみる必要があります。 :)
これを成し遂げるためにかなりの時間を費やし、克服すべき問題はほとんどありませんでした。可能ですが、ここではこれらの問題を回避するために従うべき問題とルールはほとんどありません
エラー:
ワークスペースを特定できません
この特定の問題は、source branch root folderからコマンドを実行することで解決しました。これは、SOの「ターゲット」ブランチを使用するように言っている答えに反しています-いいえ、「ソース」を使用してください:
cd [your !!source!! branch root]
tfpt unshelve /migrate /source:"$/MyCollection/Development/Maint1.1" /target:"$/MyCollection/Development/Maint1.2" "myShelveset;UserName"
この後、2番目の問題が登場しました。 TFSサーバーに接続できなかったようです。気付いたのは、複数のVSがインストールされ、異なるTFSサーバーに接続されていることです。 VS12を使用していて、ワークスペースとサーバーに接続できました。しかし、TFPT2013を機能させるには、VS13で同じ接続を複製する必要があることに気づきませんでした。同じサーバーとワークスペースに接続します。
TFPT2015を使用して実行しようとしましたが、インストールしましたが、TFPT.exeをインストールしなかったため、役に立ちませんでした。だから私はTFPT2013からTFS2015に挑戦しましたが、この特定のコマンドで機能しました。 VS12/13がTFS2015に対して正常に機能するのであれば、なぜだろうか?
要約するために