HOWTO · Git

Git Checkout --Track Origin/Branch と Git Checkout -B Branch Origin/Branch の違い

Git でリモート ブランチをチェックアウトするさまざまな方法。

このページの内容

この記事では、git checkout -b branch origin/branch コマンドと git checkout --track origin/branch コマンドの違いについて概説します。 2つのコマンドを使用して、Git リポジトリのリモート ブランチをチェックアウトします。

2つのコマンドの結果は同じですが、すぐに説明するように、違いは実際の使用にあります。

git checkout -b branch origin/branch と git checkout --track origin/branch の違い

2つのコマンドの違いを理解するために、ターミナルで実行したときの各コマンドの動作を調べます。 すぐに飛び込みましょう。

git checkout -b branch origin/branch コマンド

Git に精通している場合は、以下のコマンドを使用してリモート ブランチをチェックアウトしていることを知っている必要があります。

$ git checkout <remotebranch>

上記のコマンドは、ローカル リポジトリに remotebranch を作成し、origin に remotebranch がある場合、remotebranch というリモート ブランチの追跡を開始します。

ローカル リポジトリに既に remotebranch があり、同じ名前のリモートを作成して追跡したい場合はどうすればよいでしょうか? これについてどうすればよいでしょうか?

ここで、git checkout -b branch origin/branch コマンドの出番です。 実行します:

$ git checkout -b remote-branch1 origin/remotebranch

上記のコマンドは、ローカル リポジトリに remote-branch1 を作成し、origin の remotebranch を追跡します。 origin はリモートであることを覚えておいてください。

git checkout --track origin/branch コマンド

git checkout --track origin/branch コマンドは、branch というブランチをセットアップし、リモートの branch に対して追跡します。 前のコマンドのようですね。

問題は、いつ使用する必要があるかです。

ローカル リポジトリに同じブランチ名のリモートが複数含まれている場合は、上記のコマンドを使用することをお勧めします。

例を見てみましょう。

ローカル リポジトリに、remotebranch というブランチを持つ 4つの remote があるとします。 以下に示すように、リモートの 1つ (この場合は origin) を追跡するブランチを設定できます。

$ git checkout --track origin/remotebranch

上記のコマンドは、remotebranch というローカル ブランチを作成し、origin の remotebranch に対して追跡します。

簡単に言えば、git checkout -b branch origin/branch コマンドと git checkout --track branch origin/branch コマンドの結果は同じです。つまり、ブランチを作成してリモートを追跡します。

違いは、前述したように、2つの実際の使用にあります。