105

私のチームの一部の開発者が、ブランチ A で行った変更を棚上げしたとします。そして、私はブランチ B で作業しています。彼の変更をブランチ B に棚上げ解除できますか? (GUI またはコマンドプロンプトで)

4

5 に答える 5

129

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/"
于 2008-09-22T20:24:11.157 に答える
1

シェルフ情報には、移動先の特定のパスが含まれています。残念ながら、棚上げされた場所以外の場所に自動的に棚上げを解除する方法は知りません。これをやりたいと思ったときは、新しいブランチで同等のファイルをチェックアウトし、古いブランチからシェルブを解除してから、ファイルを手動でコピーする必要がありました。

編集:まあ、私はそれを難し​​い方法でやっていたと思います。Curtのソリューションを試してみる必要があります。:)

于 2008-09-22T20:23:00.957 に答える