Skip to main content

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-01-18. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせく� さい

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

リポジトリのクローン作成に問題がある� �合は、次の一般的なエラーを確認します。

HTTPS クローニングエラー

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

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

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

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

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

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

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

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

$ git remote -v
# View existing remotes
> 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
# Change the 'origin' remote's URL

$ git remote -v
# Verify new remote URL
> origin  https://github.com/ghost/ReactiveCocoa.git (fetch)
> origin  https://github.com/ghost/ReactiveCocoa.git (push)

または、GitHub Desktop アプリケーションを使って URL を変更できます。

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

GitHub にアクセスするには、パスワードではなく個人アクセストークンで認証する必要があります。 詳細については、個人アクセス トークンの作成に関する記事を参照してく� さい。

権限を確認します

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

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

代わりに SSH を使用する

すでに SSH キーをセットアップしている� �合は、HTTPS の代わりに SSH クローン URL を使用できます。 詳しくは、「リモート リポジトリについて」をご覧く� さい。

Error: Repository not found

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

綴りをチェックしてく� さい

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

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

既存のリポジトリでリモートを更新するには、「リモート リポジトリを管理する」をご覧く� さい。

権限をチェックする

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

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

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

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

使用している SSH キーが GitHub Enterprise Server の個人アカウントにアタッチされていることを確認する必要があります。 以下をコマンド ラインに入力することで、これをチェックできます。

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

詳しくは、「GitHub アカウントへの新しい SSH キーの追� 」をご覧く� さい。

インスタンスがプライベートモードであるかを確認する

サイト管理者が GitHub Enterprise インスタンスでプライベート モードを有効にしている� �合、git:// による匿名のクローンは無効になります。 リポジトリをクローンできない� �合は、サイト管理者にお問い合わせく� さい。

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

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

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

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

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

$ git clone https://ホスト名/user/repo.git
# Clone a repo
> 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.

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

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

$ git branch -a
# Lists ALL the branches
>   remotes/origin/awesome
>   remotes/origin/more-work
>   remotes/origin/new-main

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

$ git checkout new-main
# Create and checkout a tracking branch
> Branch new-main set up to track remote branch new-main from origin.
> Switched to a new branch 'new-main'