Git: 特定のブランチをクローンする
最終更新
デフォルトでは git clone はリポジトリのデフォルトブランチ(通常は main)をチェックアウトしますが、すべてのブランチをダウンロードします。別のブランチで開始するには -b <branch> を追加します。そのブランチだけを取得して残りを省略するには(大きなリポジトリや CI に便利)、さらに --single-branch を渡します。
これらをターミナルプレイグラウンドで試してみてください - ブラウザ内の本物のシェルで、インストール不要です。
構文
| Command | What it does |
|---|---|
git clone -b dev <url> | dev ブランチをクローンしてチェックアウトする |
git clone -b dev --single-branch <url> | dev ブランチの履歴だけをクローンする |
git clone <url> then git switch dev | すべてをクローンしてから切り替える |
どの方法を使うか
| Goal | Command |
|---|---|
| あるブランチで開始し、すべてのブランチを保持する | git clone -b dev <url> |
| 必要なブランチが1つだけ | git clone -b dev --single-branch <url> |
| すでにクローン済みで、別のブランチが欲しい | git fetch then git switch dev |
Git 特定ブランチのクローンに関するよくある質問
Gitで特定のブランチをクローンするにはどうすればよいですか?
git clone -b <branch> <url>(または長い形式の --branch)を実行します。Git はリポジトリをクローンし、デフォルトの代わりに指定したブランチをチェックアウトします。--single-branch も渡さない限り、他のすべてのブランチも依然としてダウンロードされます。1つのブランチだけをクローンして他は何もクローンしないには?
フラグを組み合わせます:
git clone -b <branch> --single-branch <url>。これは指定したブランチの履歴だけを取得し、他のすべてのブランチを省略します - より小さく高速なクローンで、大きなリポジトリや、1つのブランチだけを必要とする CI パイプラインに役立ちます。単一ブランチのクローン後に別のブランチへ切り替えられますか?
他のブランチが取得されていないため、直接はできません。まず Git にそれらを取得するよう指示します -
git remote set-branches origin '*' の後 git fetch - その後は任意のブランチへ git switch できます。複数のブランチが必要になりそうな場合は、代わりに通常のクローンを行ってください。単にクローンして切り替える方法との違いは何ですか?
素の
git clone <url> の後に git switch <branch> を実行すると、すべてのブランチが手に入り、その後で目的のブランチに移動します - 通常の用途には十分です。git clone -b はすぐにそのブランチで開始し、--single-branch を付ければ残りのダウンロードも回避します。これをオンラインで練習できますか?
はい。ターミナルプレイグラウンドを開いて、ブラウザ内の本物のシェルで
git clone を実行できます - インストール不要です。Coddy の無料のインタラクティブな Git コースでも、リポジトリを取得する手順を段階的に解説しています。