TFS でのアンシェルビング:それはどういう意味ですか?
質問
私が得た部分は次のとおりです。TFS でシェルブすると、変更内容が失われないようにサーバー コピーが作成されますが、作業中のソース コード トランク/ブランチには変更内容がチェックインされません。
質問:どのような状況で「保留解除」機能を使用しますか?それは TFS サーバーからシェルフセットを削除することを意味しますか?シェルフセットから取得できますか?それとも、それは本当にシェルブセットと「実際の」ソースコードの間の差分記述にすぎないのでしょうか?
解決
アンシェルブは、あなたがそれに取り組んで保つことができますので、あなたのマシンにブセットを復元する方法です。それは(あなたが再び物事を棚上げし、同じシェルブセット名を使用する必要があることを行うために)サーバー上のブセットは変更されません。
私はそれを使用する方法についての一例は、私が彼らに取り組んでいる間、マシン間の変更を移動することです。私はラップトップ上でそれunshelve、その後、私のデスクトップマシン上でそれを棚上げして、ラップトップ上で作業を続けるでしょう。
また、(コードレビューやその他の理由で)誰かと変更を共有するためにそれを使用することができます。その後、他の人は、それはあなたが何をやったか見に行くとunshelveすることができ、あなたの変更を棚上げます。
アンシェルブは、実際には、サーバー上のシェルブセットまたは何かを変更しません。それはちょうどget操作です。
他のヒント
エルメスは当たりですね。彼の答えを読んでください。
重要な注意点が 1 つあります。シェルブセットが作成されてから Get を実行した場合、Unshelve はファイルのローカル バージョンのみをロールバックします。 シェルフセットに含まれている. 。したがって、ワークスペースに一貫性がない可能性が非常に高くなります。
良い習慣としては、 常に再実行します。Unhelve の後に Get を実行します。. 。これにより、実際には半分新しく、半分古い状態にあることによる単なる副作用であるファントム ビルド エラーに時間を無駄にすることがなくなります。また、シェルブセットの内容と最新のサーバー リビジョン間の競合を、チェックイン時に発見するだけでなく、事前に解決する必要もあります。
私はちょうどオフのチャンス私のハードドライブがクラッシュしたり、その他もろもろに、コード進行中のバックアップをするために棚を使用しています。私も決して仕事は私のチームで、他の開発者が見られることはありませんので、(彼らはそれを探しに行く場合を除き)、作業を気にしています。
、コードの建物を心配する必要はありませんUnshelveが戻ってワークスペースの変更を保留します。サーバーからシェルブセットを削除すると、削除されます。
リチャード・バーグが言ったことにに続いて、unshelveのパワーツールのバージョンは、実際にGETと決意を含みます。