Git: リモートブランチをチェックアウトする
最終更新
リモートには存在するがまだ自分のマシンにないブランチで作業するには、まず git fetch を実行して Git に認識させ、それからチェックアウトします。最新の Git はこれを簡単にします: git switch <branch> は、対応する origin/<branch> を追跡するローカルブランチを自動的に作成します。
これらをターミナルプレイグラウンドで試してください - ブラウザ内の本物のシェルで、インストール不要です。
構文
| Command | What it does |
|---|---|
git fetch origin | リモートのブランチをダウンロードする |
git switch feature | origin/feature を追跡するローカルの feature を作成する |
git checkout --track origin/feature | リモートブランチを追跡する古い方法 |
git switch -c local origin/feature | 別のローカル名で追跡する |
実践例
チームメイトのブランチを自分のマシンに取り込む。
| Step | Command | Result |
|---|---|---|
| 1 | git fetch origin | Git が origin/feature を認識する |
| 2 | git switch feature | ローカルの feature が作成され、リモートを追跡する |
| 3 | git pull | 以降も同期を保つ |
Git リモートブランチのチェックアウト FAQ
リモートブランチをチェックアウトするには?
まず
git fetch origin を実行して Git にリモートのブランチを認識させ、次に git switch <branch> を実行します。最新の Git は対応する origin/<branch> を見つけ、それを追跡するローカルブランチを自動的に作成します。古い Git では git checkout --track origin/<branch> を使います。git switch がブランチが存在しないと言うのはなぜ?
たいていはまだ fetch していないためです - Git はリモートブランチをすでに認識している場合にのみ、追跡ブランチを自動作成できます。まず
git fetch origin(または git fetch --all)を実行すれば、git switch <branch> が機能します。リモートブランチを別の名前でチェックアウトするには?
git switch -c <localname> origin/<branch>(または git checkout -b <localname> origin/<branch>)を使います。これは、選んだ名前でリモートブランチを追跡するローカルブランチを作成します。リモート名が既存のローカルブランチと衝突する場合に便利です。ここでの fetch と checkout の違いは?
git fetch はリモートブランチをダウンロードしてリモート追跡参照を更新するだけで、作業用ブランチは与えません。チェックアウト(git switch または git checkout による)が、実際に作業するローカルブランチを作成するものです。fetch は一度行い、その後 checkout します。これをオンラインで練習できますか?
はい。ターミナルプレイグラウンドを開けば、ブラウザ内の本物のシェルでこれらのコマンドを実行できます - インストール不要です。Coddy の無料インタラクティブ Git コースでも、リモートの扱い方を段階的に取り上げています。