「新しいプロジェクトに参加したけど、作業ブランチはmainじゃないんだよな…」 「巨大なリポジトリから、必要なブランチだけ取得できないかな?」
実は、git cloneには知らないと損する便利な機能がたくさんあるんです。特定のブランチだけを効率的に取得する方法を知れば、開発のスタートダッシュが格段に速くなります。
この記事では、実際の開発現場でよく使われるgit cloneのブランチ指定テクニックを、初心者にも分かりやすく解説していきます。
今すぐ使える!ブランチ指定の基本コマンド

最速スタート:-bオプション
特定のブランチでcloneする最もシンプルな方法:
git clone -b ブランチ名 リポジトリURL
実例:開発ブランチで始める
git clone -b development https://github.com/company/awesome-project.git
cd awesome-project
# もうdevelopmentブランチで作業開始できる!
何が便利なの?通常cloneとの違い
通常のgit clone(ブランチ指定なし):
git clone https://github.com/company/project.git
cd project
git checkout development # 追加の手順が必要
ブランチ指定clone:
git clone -b development https://github.com/company/project.git
cd project
# すでにdevelopmentブランチ!すぐ作業開始
ワンステップ省略できるだけで、毎日の作業が楽になります。
実務でよく使う5つのシナリオ
シナリオ1:チーム開発の開始
新しくチームに参加した時の定番パターン:
# 開発ブランチで作業開始
git clone -b develop https://github.com/team/main-product.git
# フォルダ名も分かりやすく
git clone -b develop https://github.com/team/main-product.git main-product-dev
シナリオ2:機能ブランチのテスト
「この機能ブランチ、ちょっと動かしてみて」と言われたら:
# 機能ブランチを直接clone
git clone -b feature/new-payment https://github.com/team/app.git test-payment
cd test-payment
npm install # すぐにテスト環境構築
npm start
シナリオ3:過去のリリース版を確認
バグ調査で特定バージョンが必要な時:
# タグを指定してclone
git clone -b v3.2.1 https://github.com/company/product.git product-v3.2.1
# 複数バージョンを並べて比較
git clone -b v3.2.1 URL product-old
git clone -b v4.0.0 URL product-new
シナリオ4:緊急ホットフィックス
本番環境の緊急修正:
# productionブランチを最速で取得
git clone -b production --depth 1 https://github.com/company/app.git hotfix
cd hotfix
# すぐに修正作業開始
シナリオ5:ドキュメント更新だけ
README更新など、軽い作業の時:
# docsブランチの最新版だけ取得(超軽量)
git clone -b docs --depth 1 --single-branch https://github.com/team/project.git docs-update
容量とスピードを極める!上級オプション
–single-branch:必要なブランチだけ取得
# 通常:全ブランチの履歴をダウンロード(重い)
git clone -b develop URL
# 軽量版:developブランチのみダウンロード
git clone -b develop --single-branch URL
サイズ比較の実例:
- 全ブランチ:500MB
- single-branch:50MB(10分の1!)
–depth:履歴を制限して超高速化
# 最新のコミットだけ取得(Shallow Clone)
git clone -b main --depth 1 URL
# 直近10コミットまで取得
git clone -b main --depth 10 URL
ダウンロード時間の違い:
- 全履歴:5分
- depth 1:10秒(30倍速い!)
最強の組み合わせ
巨大プロジェクトで威力を発揮:
# 最速・最軽量の組み合わせ
git clone -b develop --depth 1 --single-branch https://github.com/huge/project.git
これで数GBのリポジトリも数十MBで取得できます。
トラブル解決:よくある問題と対処法

問題1:ブランチが見つからない
エラーメッセージ:
fatal: Remote branch feature/xyz not found in upstream origin
原因と解決:
# 1. ブランチ名を確認
git ls-remote --heads https://github.com/team/project.git
# 2. 正確なブランチ名でやり直し
git clone -b feature/xyz-fix URL # 正しい名前
問題2:認証エラー(プライベートリポジトリ)
エラーメッセージ:
fatal: Authentication failed
解決方法:
# 方法1:SSHを使う(推奨)
git clone -b develop git@github.com:company/private-repo.git
# 方法2:Personal Access Tokenを使う
git clone -b develop https://YOUR_TOKEN@github.com/company/private-repo.git
# 方法3:認証情報をキャッシュ
git config --global credential.helper cache
git clone -b develop https://github.com/company/private-repo.git
# ユーザー名とパスワード/トークンを入力
問題3:後から別ブランチが必要になった
single-branchでclone後の対処:
# 設定を変更して全ブランチ取得可能に
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch --all
# 別ブランチに切り替え
git checkout -b staging origin/staging
便利な応用テクニック集
テクニック1:複数ブランチを並行作業
# 異なるブランチを別フォルダに
git clone -b feature-a URL project-feature-a &
git clone -b feature-b URL project-feature-b &
git clone -b develop URL project-develop &
wait # 並列ダウンロード完了待ち
テクニック2:スクリプトで自動化
#!/bin/bash
# clone-branch.sh
BRANCH=${1:-main}
PROJECT=${2:-project}
git clone -b "$BRANCH" --depth 1 --single-branch URL "$PROJECT-$BRANCH"
echo "✅ $BRANCH ブランチを $PROJECT-$BRANCH フォルダにclone完了!"
使い方:
./clone-branch.sh develop myapp
テクニック3:GitHubのfork元から特定ブランチ
# fork元(upstream)の特定ブランチを取得
git clone -b experimental https://github.com/original/repo.git
cd repo
git remote add fork https://github.com/自分/repo.git
ブランチ一覧の確認方法
clone前にブランチを調べる
# ブランチ一覧を表示
git ls-remote --heads https://github.com/example/project.git
# ブランチ名だけを抽出
git ls-remote --heads URL | awk '{print $2}' | sed 's|refs/heads/||'
# grepで絞り込み
git ls-remote --heads URL | grep feature
デフォルトブランチの確認
# HEADが指すブランチを確認
git ls-remote --symref URL HEAD
# 結果例:
# ref: refs/heads/main HEAD
# → デフォルトはmainブランチ
ベストプラクティス:用途別の推奨設定

開発作業(日常使い)
# 全機能使えるようにフルclone
git clone -b develop https://github.com/team/project.git
理由: 履歴確認やブランチ切り替えが必要
コードレビュー
# 軽量・高速を重視
git clone -b feature/review --depth 5 --single-branch URL
理由: 最近の変更だけ見れれば十分
CI/CD環境
# 最小限のデータで最速
git clone -b ${BRANCH} --depth 1 --single-branch --no-tags URL
理由: ビルド時間とストレージを節約
調査・デバッグ
# 特定時点の完全な状態
git clone -b ${TAG_OR_BRANCH} URL
理由: git blameやgit logが必要
Gitエイリアスで効率化
よく使うパターンをエイリアス登録:
# ~/.gitconfigに追加
git config --global alias.qclone 'clone --depth 1 --single-branch -b'
git config --global alias.fclone 'clone -b'
# 使用例
git qclone develop URL # quick clone
git fclone develop URL # full clone
まとめ:適材適所でcloneを使い分けよう
git cloneのブランチ指定は、単なる便利機能ではなく、開発効率を大きく左右する重要なスキルです。
今日から使える必須コマンド:
# 基本形:ブランチ指定
git clone -b ブランチ名 URL
# 軽量版:特定ブランチのみ
git clone -b ブランチ名 --single-branch URL
# 高速版:最新だけ取得
git clone -b ブランチ名 --depth 1 URL
# 最適版:軽量&高速
git clone -b ブランチ名 --depth 1 --single-branch URL
選び方の指針:
- フル機能が必要 → 基本形
- 容量を節約 → –single-branch
- 時間を節約 → –depth 1
- 両方節約 → 組み合わせ
状況に応じて適切なオプションを選べば、待ち時間のストレスから解放され、本来の開発作業に集中できます。
さあ、次のcloneから早速使ってみましょう!きっと違いを実感できるはずです。
コメント