Branch コマンド (Team Foundation バージョン管理)

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

TFVC の branch コマンドは、Azure DevOps サーバーとローカル ワークスペース内のある場所から別の場所に、項目または項目のセットをメタデータやバージョン管理履歴を含めてコピーします。

注意

このコマンドの結果は、チェックイン操作を実行するまで Azure DevOps サーバーには反映されません。 詳細については、「チームのコードベースへの作業のチェックイン」を参照してください。

前提条件

branch コマンドを使用するには、ソース アイテムの読み取りアクセス許可と、ターゲット フォルダーのチェックアウトおよびマージのアクセス許可が [許可] に設定されている必要があります。 詳細については、「既定の TFVC アクセス許可」を参照してください。

構文

tf branch olditem newitem [/version:versionspec] [/noget] [/lock:(none|checkin|checkout)] [/noprompt] [/silent] [/checkin] [/comment:("comment"|@commentfile)] [/author:authorname] [/login:username, [password]] [/recursive]

パラメーター

引数

Argument 説明
<olditem> ブランチ対象のソース ファイルまたはフォルダーの名前を指定します。 <olditem> には、形式 item;version のバージョン情報も含まれる場合があります。
<newitem> 宛先のファイルまたはフォルダー、あるいは宛先の親フォルダーの名前を指定します。 <*newitem> が既に存在し、Azure DevOps Server フォルダーである場合、TFVC はその中にブランチ対象の項目を作成します。 それ以外の場合、<newitem> は、宛先のファイルまたはフォルダーの名前を指定します。 宛先が既に存在する場合、チェックイン中に競合が発生する可能性があります。
<versionspec> /version オプションの値を指定します。 TFVC がバージョン指定を解析してそのスコープ内の項目を判別する方法の詳細については、「Team Foundation バージョン管理コマンドの使用」を参照してください。
<comment> ブランチに関するコメントを指定します。
@<commentfile> ブランチに使用されるコメントを含むファイルのパスを指定します。
<authorname> /author オプションのユーザー指定の値。
<username> /login オプションに値を指定します。 ユーザー名の値は、DOMAIN\username または <username> の形式で指定できます。

オプション

オプション

説明

/version

ブランチを作成する項目のバージョン。 バージョンは次のように指定できます。

  • 日付/時刻 (D10/20/2005)
  • 変更セット番号 (C1256)
  • ラベル (Lmylabel)
  • 最新バージョン (T)
  • ワークスペース (Wworkspacename)

バージョンが指定されない場合、TFVC は次のロジックを使用して、新しいブランチにコピーする項目のバージョンを決定します。

  • Azure DevOps Server パスが指定されている場合、TFVC は最新のAzure DevOps Server バージョンの項目のブランチを作成します。 たとえば、tf branch $/projects/help.cs はサーバー バージョンを使用します。
  • ソースにローカル パスが指定されている場合、TFVC はローカルのワークスペース バージョンを使用して新しいブランチを作成します。 たとえば、tf branch C:\314.cs はローカル ワークスペースバージョンを使用します。

ワークスペースのバージョンが Azure DevOps サーバーの最新バージョンより古いファイルのブランチを作成すると、そのファイルのブランチは古いバージョンで作成されます。

/lock

保留中のブランチと関連する変更内容をチェックインするまで、他のユーザーが項目をチェックインまたはチェックアウトできないようにします。 詳細については、「ロックの種類について」を参照してください。

ロック オプション:

  • none
    既定値。 ロックは適用されません。 ブランチを作成するファイルにロックが存在する場合、このオプションはそれを削除します。
  • checkin
    チェックインを実行してロックを解除するまで、他のユーザーは、指定した項目をチェックアウトできますが、ロックされたファイルのリビジョンはチェックインできません。 他のユーザーが、指定されたどの項目をロックしても、ロック操作は失敗します。
  • checkout
    チェックインを実行してロックを解除するまで、指定した項目のチェックインやチェックアウトを他のユーザーが実行できないようにします。 他のユーザーが、指定されたどの項目をロックしても、ロック操作は失敗します。

/noget

このオプションを指定すると、新しいブランチ内のファイルとフォルダーのローカル コピーはローカル ワークスペースに作成されません。 ただし、次回再帰的な取得操作を実行すると、ローカル コピーがワークスペースに取得されます。

注意

ワークスペース フォルダーをクロークして、再帰的な取得や最新の取得の操作中に項目 (/images フォルダーの内容など) がワークスペースに取得されるのを防止できます。 詳細については、「Workfold コマンド」を参照してください。

/noprompt

ユーザーからの入力を求めるプロンプトが表示されないようにします。

/silent

/noget を意味し、ブランチを作成するときにコマンド プロンプト ウィンドウに出力が書き込まれないことを指定します。

/checkin

ブランチを作成し、1 回の操作でサーバーにチェックインします。 このオプションでは、ローカル ワークスペースに保留中の変更は作成されません。

/comment

新しいブランチにコメントを追加します。 このオプションは、/checkin オプションとの組み合わせでのみ使用されます。

/author

新しいブランチの作成者を識別します。 このオプションは、/checkin オプションとの組み合わせでのみ使用されます。

/recursive

フォルダーについて、内部のすべてのファイルのブランチも作成します。

解説

"c:\00101" などのローカル パスを指定しても、<versionspec> を指定しない場合、TFVC は、新しいブランチを作成するためのベースとしてローカル ワークスペース バージョンを使用します。

ただし、"$/00101/*.cs" などのサーバー パスを指定し、<versionspec> を指定しない場合、TFVC は新しいブランチを作成するためのベースとして、代わりに最新の Azure DevOps Server バージョンを使用します。

tf コマンド ライン ユーティリティの使用方法の詳細については、「Team Foundation バージョン管理コマンドの使用」を参照してください。

次の例では、c:\projects がワークスペース内の メイン フォルダーにマップされていることを想定しています。

次の例では、"314.cs" の最新のワークスペース バージョンを含むブランチ ファイルを作成し、そのファイルに "314_branch" という名前を付け、ディスク上の現在のディレクトリと、マップ先である Azure DevOps Server フォルダーに保存します。

c:\projects>tf branch 314.cs 314_branch

次の例は、"314.cs" のワークスペース バージョンで保留中の編集がないすべてのファイルをその現在の Azure DevOps Server フォルダーから "testdata" の Azure DevOps Server フォルダーに、またディスク上の現在のディレクトリから "testdata" の Azure DevOps Server にマップされる作業フォルダーにコピーします。

c:\projects>tf branch C:\314.cs $/testdata

次の例は、"testfiles" フォルダーの現在のワークスペース バージョンで保留中の編集がないすべてのファイルと、それに含まれるすべての項目用のファイルを、その現在の Azure DevOps Server フォルダーから "testfiles_branch" の Azure DevOps Server フォルダーに、また "c:\testfiles" から "testfiles_branch" の Azure DevOps Server フォルダーにマップされるローカル フォルダーにコピーします。

c:\projects>tf branch C:\testfiles $/testfiles_branch

次の例は、ファイルの changeset #4 に存在していた "314.cs" のブランチを作成します。 Azure DevOps サーバーと同様に、ディスク上の作業フォルダーに、"csharp_branch" というタイトルのブランチ ファイルが作成されます。

c:\projects>tf branch C:\314.cs;C4 csharp_branch

次の例は、12/12/03 に存在していたとおりに "314.cs" の新しいブランチを作成します。 Azure DevOps サーバーと同様に、ディスク上の作業フォルダーに、"314\branch" というタイトルのブランチ ファイルが作成されます。

c:\projects>tf branch 314.cs;D12/12/03 314_branch

次の例は、"314.cs" のバージョンのブランチを作成し、Beta1 ラベルを適用し、"Beta1branch" という名前を付け、現在のディレクトリがマップされる Azure DevOps Server フォルダーに加えて、ディスク上の現在のディレクトリに保存します。

c:\projects>tf branch 314.cs;LBeta1 314_Beta1branch