記事のバージョン: Enterprise Server 2.17
Error: Remote HEAD refers to nonexistent ref, unable to checkout
このエラーは、リポジトリのデフォルトブランチが 使用している GitHub Enterprise Serverインスタンスで削除された場合に発生します。
このエラーの検出方法は簡単です。リポジトリのクローンを試みると Git により警告されます:
$ git clone https://hostname/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 Enterprise Serverインスタンス リポジトリの管理者になる必要があります。 リポジトリのデフォルトブランチの変更が必要となります。
その後、コマンドラインで使用可能なブランチすべてのリストを取得できます:
$ git branch -a
# すべてのブランチをリスト
> remotes/origin/awesome
> remotes/origin/more-work
> remotes/origin/new-master
その後、新しいブランチにスイッチするだけです:
$ git checkout new-master
# Create and checkout a tracking branch
> Branch new-master set up to track remote branch new-master from origin.
> Switched to a new branch 'new-master'