git cloneができない!エラー別の解決方法まとめ

git

「fatal: repository not found…って何?」 「Permission deniedが出て進めない…」 「途中で止まってタイムアウトになる…」

git cloneでつまずいていませんか?

実は、git cloneのエラーの90%は、たった5つの原因から起きているんです。しかも、どれも簡単な方法で解決できます。

この記事では、エラーメッセージ別の解決方法から、環境別の対処法まで、git cloneのトラブルをすべて解決します。エラーメッセージをコピペして検索してきた方も、この記事で必ず解決策が見つかるはずです!


スポンサーリンク

まず確認!git cloneの基本をおさらい

📝 正しいgit cloneの書き方

基本構文

git clone [リポジトリURL]

# 例1: HTTPS
git clone https://github.com/username/repository.git

# 例2: SSH
git clone git@github.com:username/repository.git

# 例3: フォルダ名を指定
git clone https://github.com/username/repository.git my-folder

🔍 URLの種類と違い

種類形式認証方法おすすめ度
HTTPShttps://...ユーザー名/パスワード or トークン初心者向け◎
SSHgit@...SSH鍵セキュア◎
GitHub CLIgh repo clone自動認証簡単◎

どれを使うべき?

  • 初めての方 → HTTPS + トークン認証
  • 頻繁に使う方 → SSH
  • 最新の方法 → GitHub CLI

【エラー別】今すぐ試せる解決方法

❌ エラー1: Permission denied (publickey)

症状

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

原因と解決策

原因: SSH鍵が設定されていない、または正しく登録されていない

解決方法1:HTTPSに切り替える(最速)

# SSHのURLをHTTPSに変更
# 変更前: git@github.com:username/repo.git
# 変更後: https://github.com/username/repo.git

git clone https://github.com/username/repo.git

解決方法2:SSH鍵を作成・登録する(推奨)

  1. SSH鍵の作成
ssh-keygen -t ed25519 -C "your_email@example.com"
# Enterを3回押してデフォルト設定で作成
  1. SSH鍵をコピー
# Mac/Linux
cat ~/.ssh/id_ed25519.pub | pbcopy

# Windows (Git Bash)
cat ~/.ssh/id_ed25519.pub | clip

# または手動でファイルを開いてコピー
cat ~/.ssh/id_ed25519.pub
  1. GitHubに登録
    • GitHub → Settings → SSH and GPG keys
    • 「New SSH key」をクリック
    • コピーした鍵を貼り付けて保存
  2. 接続テスト
ssh -T git@github.com
# "Hi username!" と表示されれば成功

🚫 エラー2: Repository not found

症状

fatal: repository 'https://github.com/username/repo.git' not found

チェックリスト

1. URLのスペルミス確認

# よくある間違い
× github.com/user-name/repo  # ハイフンとアンダースコア
○ github.com/user_name/repo

× github.com/username/Repo   # 大文字小文字
○ github.com/username/repo

2. プライベートリポジトリの場合

  • ログインが必要
  • アクセス権限の確認
  • 組織のメンバーか確認

3. リポジトリの存在確認

# ブラウザで直接アクセスしてみる
https://github.com/username/repository

解決策:認証情報の更新

# 認証情報をリセット
git config --global --unset credential.helper

# 改めてclone(ユーザー名とパスワード/トークンを要求される)
git clone https://github.com/username/repo.git

⏱️ エラー3: Timeout / ネットワークエラー

症状

fatal: unable to access 'https://...': Failed to connect to github.com port 443: Timed out

解決方法

1. プロキシ設定の確認と解除

# プロキシ設定の確認
git config --global --get http.proxy
git config --global --get https.proxy

# プロキシの解除(不要な場合)
git config --global --unset http.proxy
git config --global --unset https.proxy

2. プロキシ環境での設定

# 企業内など、プロキシが必要な場合
git config --global http.proxy http://proxy.example.com:8080
git config --global https.proxy http://proxy.example.com:8080

3. バッファサイズを増やす

# 大きなリポジトリの場合
git config --global http.postBuffer 524288000  # 500MB

4. 浅いクローンを試す

# 最新のコミットだけ取得(高速)
git clone --depth 1 https://github.com/username/repo.git

# 後で完全な履歴を取得
cd repo
git fetch --unshallow

🔐 エラー4: Authentication failed(認証エラー)

症状

remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/...'

GitHubの場合(2021年8月以降)

重要: GitHubはパスワード認証を廃止!トークンが必要です。

Personal Access Token(PAT)の作成:

  1. GitHub → Settings → Developer settings
  2. Personal access tokens → Tokens (classic)
  3. Generate new token
  4. スコープを選択:
    • repo(プライベートリポジトリ用)
    • public_repo(パブリックのみ)
  5. トークンをコピー(一度しか表示されない!)

トークンの使用方法:

# cloneする時
git clone https://github.com/username/repo.git
# Username: あなたのGitHubユーザー名
# Password: 作成したトークン(パスワードではない!)

認証情報を保存:

# Mac/Linux
git config --global credential.helper cache

# Windows
git config --global credential.helper wincred

# 期限付き保存(1時間)
git config --global credential.helper 'cache --timeout=3600'

📦 エラー5: 容量制限・大きなファイル

症状

error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: the remote end hung up unexpectedly

解決策

1. 部分的にクローン

# ブランチを指定
git clone -b main --single-branch https://github.com/username/repo.git

# 履歴なしでクローン
git clone --depth 1 https://github.com/username/repo.git

2. Git LFSを使用(大容量ファイル用)

# Git LFSをインストール
git lfs install

# LFS対応リポジトリをクローン
git clone https://github.com/username/repo.git

# LFSファイルを後から取得
git lfs pull

環境別の設定と対処法

💼 企業・組織のネットワークで

ファイアウォール/プロキシ対策

1. HTTPS接続を強制

git config --global url."https://".insteadOf git://

2. SSL証明書の問題を回避(非推奨、一時的な対処)

# 警告:セキュリティリスクあり、緊急時のみ
git config --global http.sslVerify false

3. 社内GitLabなどの場合

# 自己署名証明書を信頼
git config --global http.sslCAInfo /path/to/certificate.crt

🪟 Windows特有の問題

改行コードの問題

# Windowsでの推奨設定
git config --global core.autocrlf true

パスの長さ制限

# 長いパスを有効化
git config --global core.longpaths true

Gitのパス確認

where git
# 複数表示される場合は環境変数PATHを確認

🐧 Linux/WSLでの設定

権限の問題

# .sshフォルダの権限を修正
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub

WSL特有の設定

# Windows側の改行コードを維持
git config --global core.autocrlf input

# Windowsの認証情報を使用
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager-core.exe"

トラブルシューティングフローチャート

🔄 問題解決の手順

1. エラーメッセージを確認
   ↓
2. URLが正しいか確認
   ├─ 間違い → URLを修正
   └─ 正しい → 次へ
   ↓
3. ネットワーク接続を確認
   ├─ ping github.com
   └─ つながらない → プロキシ/ファイアウォール確認
   ↓
4. 認証方法を確認
   ├─ HTTPS → トークン作成
   └─ SSH → 鍵の設定
   ↓
5. それでもダメなら
   └─ 浅いクローン or ZIP ダウンロード

代替手段:どうしてもcloneできない時

📥 方法1:ZIPでダウンロード

  1. GitHubのリポジトリページを開く
  2. 「Code」ボタン → 「Download ZIP」
  3. 解凍後、Gitリポジトリとして初期化:
cd downloaded-folder
git init
git remote add origin https://github.com/username/repo.git

🔄 方法2:フォークしてからクローン

  1. GitHubでForkボタンをクリック
  2. 自分のアカウントにコピーされる
  3. 自分のリポジトリをクローン

💻 方法3:GitHub CLIを使用

# インストール
# Mac
brew install gh

# Windows (Scoop)
scoop install gh

# 認証
gh auth login

# クローン
gh repo clone username/repository

プロのテクニック集

🚀 高速化テクニック

# 並列ダウンロード
git config --global core.preloadindex true
git config --global core.fscache true
git config --global gc.auto 256

# 圧縮レベル調整(ネットワークが遅い場合)
git config --global core.compression 0

🔧 デバッグモード

# 詳細なログを表示
GIT_CURL_VERBOSE=1 git clone https://github.com/username/repo.git

# SSH接続の詳細確認
GIT_SSH_COMMAND="ssh -vvv" git clone git@github.com:username/repo.git

よくある質問と回答

Q:会社のPCでgit cloneができません

A: 多くの場合、プロキシかファイアウォールが原因です。IT部門にプロキシ設定を確認し、上記のプロキシ設定を行ってください。それでもダメな場合は、HTTPSでのアクセスを試してください。

Q:「fatal: not a git repository」と表示される

A: これはcloneの問題ではなく、gitコマンドを実行する場所の問題です。git cloneは任意のフォルダで実行できますが、他のgitコマンドは.gitフォルダがある場所で実行する必要があります。

Q:クローンが途中で止まる

A: 大きなリポジトリの場合、–depth 1オプションで浅いクローンを試してください。または、ネットワークが不安定な可能性があるので、時間を変えて再試行してください。

Q:Macでxcrunエラーが出る

A: Xcodeのコマンドラインツールが必要です。xcode-select --installを実行してインストールしてください。

Q:2要素認証を設定したらcloneできなくなった

A: 2要素認証を有効にした場合、パスワードの代わりにPersonal Access Tokenを使用する必要があります。上記の手順でトークンを作成してください。


まとめ:もうgit cloneで悩まない!

git cloneのエラーは一見複雑に見えますが、原因を特定すれば必ず解決できます

問題解決の優先順位:

  1. URLとネットワークを確認(基本の確認)
  2. HTTPSとトークン認証を試す(最も簡単)
  3. SSH鍵を設定(長期的には便利)
  4. 浅いクローンで回避(大きなリポジトリ)
  5. 最終手段:ZIPダウンロード(確実)

エラーメッセージをよく読んで、この記事の該当箇所を参照すれば、必ず解決できるはずです。

git cloneは開発の第一歩。この壁を乗り越えて、素晴らしいプロジェクトを始めてください!

Happy Coding! 🚀

コメント

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