Get コマンド
Team Foundation バージョン管理 のサーバーからファイルの読み取り専用コピーをワークスペースに取得し、ディスク上にフォルダーを作成して、そのコピーを格納します。
必要なアクセス許可
get コマンドを使用するには、取得された項目の [読み取り] のアクセス許可が [許可] に設定され、取得先ワークスペースの所有者であるかグローバル [ワークスペースの管理] のアクセス許可を持つ必要があります。 詳細については、「Team Foundation Server のアクセス許可」を参照してください。
tf get [itemspec] [/version:versionspec] [/all] [/overwrite] [/force]
[/preview] [/recursive] [/remap] [/noprompt] [/login:username,[password]]
パラメーター
引数 |
説明 |
---|---|
Itemspec |
取得するファイルまたはフォルダー。 itemspec を指定していない場合は、Team Foundation Server により、現在のワークスペースでマップされているすべての項目に対する取得操作が再帰的に実行されます。
メモ
複数の Itemspec 引数を指定できます。
|
Versionspec |
/version オプションにユーザーが指定した値。 Team Foundation Server でバージョン指定を解析してそのスコープ内にある項目を確認する方法の詳細については、「コマンド ライン構文 (バージョン管理)」を参照してください。 |
username |
/login オプションに値を指定します。 ユーザー名の値は、DOMAIN\UserName または UserName のいずれかとして指定できます。 |
オプション |
説明 |
---|---|
/version |
オプションのバージョン仕様。 versionspec は、取得する項目のバージョンです。 バージョンは、次のものによって指定できます。
|
/all |
最新でないファイルだけでなく、すべてのファイルを強制的に取得します。 |
/overwrite |
チェックアウトされていない書き込み可能なファイルを上書きします。 |
/force |
/all と /overwrite を組み合わせます。 |
/preview |
Get 操作を実際に実行せずに操作結果を表示します。 |
/recursive |
itemspec と一致するすべての項目を再帰的に取得します。 |
/noprompt |
この操作中に表示されるダイアログ ボックスを出力しないようにします。 |
/remap |
サーバー上のローカル マップを更新し、別の分岐から同じファイルを既にダウンロードしてある場合は、より高速にファイルを再度ダウンロードします。
メモ
このオプションは、複雑なローカル マップがなく、分岐間で頻繁に切り替える必要がある場合に使用するのが最適です。
|
/login |
Team Foundation Server でユーザーを認証するためのユーザー名とパスワードを指定します。 |
解説
get コマンドでは、項目をサーバーからワークスペースに取得します。 特定のバージョンが指定されていない場合は、最新のサーバー バージョンが取得されます。
チーム開発環境で作業している場合は、get が最も頻繁に使用するコマンドになります。これにより、現在のプロジェクトにすべてのファイルを取り込んでチームと同期し、共有作業の最新コピーを常に確実に得ることができます。 get コマンドでは、ローカル ディレクトリにチェックアウトしたファイルは上書きされません。 共同作業環境では、get コマンドを実行する頻度が多いほど、手元のローカル ファイルはチームの最新状態とより近くなります。 これは、get 操作によって、他のチームメートがサーバーにチェックインした変更がローカルの作業領域に反映されるためです。 チェックイン通知 (プロジェクト警告など) を受け取るたびに get 操作を実行することでワークスペースを最新の状態に保っている場合は、手元のバージョンのプロジェクトと、サーバー上のバージョンのプロジェクトとの差分をすぐに解決することができます。 保留中の変更をチェックインするときは、サーバーとの差分を解決しにくいような変更を実行しないようにすることができます。
get 操作の実行中、ワークスペース バージョンが、要求されたサーバー バージョンと同じ場合、Team Foundation Server では /all オプションが指定されない限りディスク上のファイルは置き換えられません。 /overwrite オプションを使用すると、書き込み可能な現在のワークスペース バージョンを指定したサーバー バージョンで強制的に上書きすることで、ワークスペースが管理不能な状態になったとき (ディスク上の複数のファイルを削除した場合、誤って上書きした場合など) にそのワークスペースを一貫性のある状態に復元できます。 /force オプションを渡すと、Team Foundation Server では、特定のバージョンを指定しない限り、ワークスペース内のすべてのチェックアウト済み項目は最新のサーバー バージョンで上書きされます。
get 操作を実行すると、Team Foundation Server では、前回ワークスペースをサーバー バージョンに同期した後にサーバーから削除された、ローカル ワークスペースのすべてのチェックイン済みファイルは削除されます。 名前が変更された、または移動されたサーバー上のファイルは、ディスク上で再配置され、サーバー上の変更と対応付けられます。
/preview オプションを使用して get コマンドを実行すると、ローカル ワークスペースを更新することなく、get 操作を実際に実行するとどうなるかを確認できます。
チェックアウト操作ではチェックアウト中のファイルに対して最新バージョンの取得が実行されない
ワークスペースで作業を行う開発者は、他の開発者が加えた変更から分離されています。 適切なタイミングで取得操作を実行することにより、他の開発者が加えた変更を受け入れるタイミングを制御できます。 理想的なのは、数ファイルだけを更新するのではなく、バージョン管理された構成全体を更新することです。1 つのファイル内で実行される変更は通常、対応する他のファイルへの変更に依存するためです。 ビルドおよびテストが可能な、バージョン管理されたファイルの一貫したスナップショットがあることが必要です。
したがって、チェックアウト操作では、チェックアウトされているファイルに対して最新バージョンの取得が実行されません。 チェックアウトされている 1 つのファイルを更新すると、一貫したスナップショットに違反することになり、バージョン管理されたファイルの構成がビルドもテストもできないものになる可能性があります。 代わりに、Team Foundation Server では、変更をチェックインする前のどこかで、最新バージョンの取得操作の実行が強制されるため、最新コピーがない場合に変更をチェックインしようとすると、競合を解決するためのダイアログ ボックスが表示されます。
チェックアウト時に最新バージョンを自動的に取得するよう Team Foundation Server を構成することもできます。 詳細については、「チェックアウト設定の構成」を参照してください。
tf コマンド ライン ユーティリティの使い方の詳細については、「Tf コマンド ライン ユーティリティのコマンド」を参照してください。
取得プロセス
サーバーからの項目に対して get コマンドを実行する場合、その項目が既にワークスペースにチェックアウトされており、サーバー バージョンが変更されているときは、ワークスペースおよび取得したサーバー バージョンとの間のファイル競合を解決することを求めるメッセージが表示されます。 詳細については、「Resolve コマンド」を参照してください。
例
次の例は、サーバーから 314.cs の最新のバージョンを取得します。 314.cs に対する保留中の変更がある場合、Team Foundation Server では、競合の処理方法を決めるのに役立つ解決プロセスが開始されます。
C:\projects>tf get 314.cs
次の例は、サーバーから 1256.cs のバージョン 8 を取得します。
注意
1256.cs;8 を使用するのは、1256.cs;C8 を使用するのと同じです。 既定では、セミコロンの後に番号だけを指定すると、変更セット バージョンが使用されます。
C:\>tf get 1256.cs;8
次の例は、クローク解除されたすべての項目の最新バージョンをサーバーのフォルダーとサブフォルダーから C:\projects ディレクトリに取得して、最新バージョンが必要なローカル フォルダーを作成します。 フォルダーをクロークおよびクローク解除する方法の詳細については、「Workfold コマンド」を参照してください。
C:\projects>tf get
次の例は、変更セット 1999 でチェックインされた 1256.cs のバージョンを取得する別の方法を示します。
c:\projects>tf get /version:C1999 1256.cs
または
c:\projects>tf get 1256.cs;C1999
次の例は、クローク解除されたすべての項目を、変更セット 271 が作成されたときにサーバーに存在していたのと同じ状態で、サーバーから取得します。
c:\projects>tf get /version:C271
次の例は、"build42" というラベルの付いた build42 を取得します。 この操作により、保留中の変更がない限り、ワークスペースはラベルに一致します。 ラベルにないファイルは、ローカル ディスクから削除されます。
c:\projects>tf get /version:Lbuild42
次の例は、特定の日時からサーバーのバージョンを取得します。
c:\projects>tf get /version:D2008-01-21T16:00