特定ブランチをsubmodule込みでgit cloneする

  • Git
  • CLI

この記事は、構成と文章の整理にAIを使っています。
あくまで読みやすくするための補助で、内容そのものをAIにすべて任せて書いているわけではありませんが、ところどころ相談しながら整えています。

特定ブランチだけをcloneする

-b オプションでブランチを指定すると、そのブランチだけをcloneできる。

$ git clone -b <branch-name> ssh://git@my.domain/vendor/repo.git

submoduleも一緒にcloneする

submodule込みでcloneしたい場合は --recursive を付ける。

$ git clone ssh://git@my.domain/vendor/repo.git --recursive

Git 2.13以降は --recurse-submodules が正式なオプション名になっていて、--recursive は互換のために残っているエイリアスらしい。新しく書くなら --recurse-submodules にしておいた方がよさそう。

両方同時にやりたい場合

ブランチ指定とsubmodule取得は組み合わせられる。

$ git clone -b <branch-name> --recurse-submodules ssh://git@my.domain/vendor/repo.git

これで指定ブランチのsubmodule込みcloneが1コマンドで済む。