クローンエラーのトラブルシューティング

If you're having trouble cloning a repository, check these common errors.

HTTPS クローニングエラー

Git で HTTPS を使用する際によく生じるエラーがいくつかあります。 これらのエラーは通常、古いバージョンの Git を使用しているか、もしくはリポジトリへのアクセス権を持っていないことが原因です。

HTTPS エラーの例を次に示します:

> error: The requested URL returned error: 401 while accessing
> https://github.com/user/repo.git/info/refs?service=git-receive-pack
> fatal: HTTP request failed
> Error: The requested URL returned error: 403 while accessing
> https://github.com/user/repo.git/info/refs
> fatal: HTTP request failed
> Error: https://github.com/user/repo.git/info/refs not found: did you run git
> update-server-info on the server?

使用している Git のバージョンを確認する

GitHub を使用するために最低限必要な Git のバージョンはありませんが、安定度の高いバージョン 1.7.10 を推奨しています。バージョン 1.7.10 は多くのプラットフォームで利用可能です。 いつでも Git の Web サイトで最新バージョンをダウンロードできます

リモートが正しいことを確かめる

フェッチするリポジトリが GitHub に存在する必要があります。また、URL では大文字と小文字が区別されます。

コマンドラインを開き、git remot -v と入力して、ローカルリポジトリの URL を見つけることができます。

$ git remote -v
# 既存のリモートを表示する
> origin  https://github.com/ghost/reactivecocoa.git (fetch)
> origin  https://github.com/ghost/reactivecocoa.git (push)

$ git remote set-url origin https://github.com/ghost/ReactiveCocoa.git
# 'origin' リモートの URL を変更する

$ git remote -v
# 新規 URL を検証する
> origin  https://github.com/ghost/ReactiveCocoa.git (fetch)
> origin  https://github.com/ghost/ReactiveCocoa.git (push)

もしくは、GitHub Desktop アプリケーションから URL を変更できます。

アクセストークンを入力する

GitHub にアクセスするには、パスワードではなく個人アクセストークンで認証する必要があります。 詳しい情報については、「個人アクセストークンを作成する」を参照してください。

SAML SSOを使っているOrganizationにアクセスしているなら、認証を受ける前にOrganizationにアクセスするための個人アクセストークンの認可もしなければなりません。 詳しい情報については「SAMLシングルサインオンでの認証について」及び「SAMLシングルサインオンで利用する個人アクセストークンの認可」を参照してください。

自分の権限を確認する

ユーザ名およびパスワードを求められた場合は、該当のリポジトリにアクセスできるアカウントを使用してください。

ヒント: リモートリポジトリを操作するときの毎回の認証情報の入力を省くには、認証情報のキャッシュをオンにします。 すでに認証情報のキャッシュを使用している場合は、コンピューターに正しい認証情報がキャッシュされていることを確認してください。 認証情報が正しくない、または古い場合、認証に失敗します。

代わりに SSH を使用する

すでに SSH キーをセットアップしている場合は、HTTPS の代わりに SSH クローン URL を使用できます。 For more information, see "About remote repositories."

Error: Repository not found

リポジトリのクローン作成時にこのエラーが表示される場合は、リポジトリが存在しないか、リポジトリにアクセスする権限がないことを示しています。 原因に応じて、このエラーに対するいくつかの解決策があります。

スペルを確認する

入力ミスは起こるものです。また、リポジトリ名は大文字と小文字を区別します。 git@github.com:user/repo.git をクローンしようとしたが、リポジトリの実際の名前は User/Repo である場合、このエラーが表示されます。

このエラーを回避するには、クローン時は常にリポジトリのページからクローン URL をコピーして貼り付けるようにします。 詳しい情報についてはリポジトリのクローンを参照してください。

To update the remote on an existing repository, see "Managing remote repositories".

権限をチェックする

プライベートリポジトリをクローンしようとしているが、リポジトリの表示権限がない場合、このエラーが表示されます。

以下のいずれかによってリポジトリへのアクセス権があることを確認してください:

SSH アクセスをチェックする

ごくまれに、リポジトリへの正しい SSH アクセス権がない場合があります。

使用している SSH キーが GitHub ユーザアカウントに添付されていることを確認する必要があります。 以下をコマンドラインに入力してこれをチェックできます:

$ ssh -T git@github.com
> Hi username! You've successfully authenticated, but GitHub does not
> provide shell access.

リポジトリが Organization に属し、OAuth App によって生成された SSH キーを使用している場合、OAuth App へのアクセスは Organization のオーナーによって制限されている可能性があります。 For more information, see "About OAuth App access restrictions."

詳細は「GitHub アカウントに新しい GPG キーを追加する」を参照してください。

リポジトリが実際に存在することを確認する

すべて失敗した場合は、リポジトリが GitHub に実際に存在していることを確認してください。 存在しないリポジトリにプッシュを試みると、このエラーが表示されます。

Error: Remote HEAD refers to nonexistent ref, unable to checkout

このエラーは、リポジトリのデフォルトブランチが GitHubで削除された場合に発生します。

このエラーの検出方法は簡単です。リポジトリのクローンを試みると Git により警告されます:

$ git clone https://github.com/user/repo.git
# リポジトリをクローン
> Cloning into 'repo'...
> remote: Counting objects: 66179, done.
> remote: Compressing objects: 100% (15587/15587), done.
> remote: Total 66179 (delta 46985), reused 65596 (delta 46402)
> Receiving objects: 100% (66179/66179), 51.66 MiB | 667 KiB/s, done.
> Resolving deltas: 100% (46985/46985), done.
> warning: remote HEAD refers to nonexistent ref, unable to checkout.

このエラーを解決するには、GitHub リポジトリの管理者になる必要があります。 リポジトリのデフォルトブランチの変更が必要となります。

その後、コマンドラインで使用可能なブランチすべてのリストを取得できます:

$ git branch -a
# すべてのブランチをリスト
>   remotes/origin/awesome
>   remotes/origin/more-work
>   remotes/origin/new-main

その後、新しいブランチにスイッチするだけです:

$ git checkout new-main
# 追跡ブランチを作成してチェックアウト
> Branch new-main set up to track remote branch new-main from origin.
> Switched to a new branch 'new-main'

このドキュメントは役立ちましたか?

プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?