Git で特定のブランチだけクローンする single-branch オプションとそのリポジトリにブランチを追加する設定

試した環境

本題

通常git cloneコマンドでリポジトリをクローンすると、リモートリポジトリの全てのブランチを取得します。 1つのブランチだけcloneするには、--single-branch オプションを付けます。

git clone --single-branch <URL>

更に -b オプションでブランチを指定できます。

git clone --single-branch -b <name> url

こうしてクローンしたローカルリポジトリでは、git fetchコマンドもこのgit cloneで指定した1つのブランチに対して行われます。 これはこれで便利ですが、後から他のリモートブランチを追加したくなる場合もあります。 他のリモートブランチを追加したい場合、ローカルリポジトリの設定を変更します。

#リモートリポジトリ名が'origin'とした場合
git config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*'

参考

Git - git-clone Documentation

Git - git-config Documentation