リモートリポジトリのブランチを持ってきたい

リモートのリポジトリにある<remote-branch-name>という名前のブランチをチェックアウトするには以下のようにする。

$ git checkout <remote-branch-name>

もしくは

$ git switch <remote-branch-name>

もう少し正確に

リモートリポジトリ<remote>にある<remote-branch-name>という名前のブランチを<local-branch-name>という名前にチェックアウトするには以下のようにする。

$ git checkout -b <local-branch-name> <remote>/<remote-branch-name>

もしくは

$ git switch -c <local-branch-name> <remote>/<remote-branch-name>

もう少し詳しく

git checkoutコマンドでブランチ名のみ指定してリモートのブランチを取得できるためにはいくつか条件がある。これに関してはgit checkoutやgit switchの–guessのところに情報がある。

Git - git-checkout Documentation

この情報によると、リモートのブランチをcheckoutできるためには次の条件がある。

  • <remote-branch-name>という名前のブランチがローカルに存在しない
  • <remote-branch-name>という名前のブランチがfetch済みのただ一つのリモートリポジトリに存在する
  • –no-guessオプションを使用していない

複数のリモートリポジトリに<remote-branch-name>という名前のブランチが存在しており、checkout.DefaultRemoteという設定変数で指定されるリモートリポジトリにその名前のブランチが存在する場合、そのリモートリポジトリからチェックアウトされる。

コメント

タイトルとURLをコピーしました