[解決済み] 警告: リモート HEAD は存在しない参照元を参照しているため、チェックアウトできません。
質問
原因が違うのによくあるエラーのようです。
私は "kiflea.git" というシンプルなベア git リポを持っていて、それをこのようにクローンしているのです。
git clone git://kipdola.be/kiflea.git
すると、gitが教えてくれる。
warning: remote HEAD refers to nonexistent ref, unable to checkout.
そして、そうです。マップには、.gitディレクトリを除いて、バージョン管理されたファイルはありません。 とにかく、必要なのは
cd kiflea
git checkout master
そして、それは動作し、すべてのファイルがそこにあります。 しかし、レポのクローンは自動的にマスターをチェックアウトすると思っていたのですが、一体何が起こっているのでしょうか、そしてどうすればそれを修正できるのでしょうか?
を実行した後、気がついたのですが
git checkout master
ビットを使用すると、ローカルの .git 設定ファイルに追加されます。
[branch "master"]
remote = origin
merge = refs/heads/master
このgitリポジトリが、遠い昔はsvnリポジトリだったというのも面白いかもしれませんね。
Ps: gitweb を使ってベアリポジトリをブラウズすると、明らかに
master
ブランチがあります。
http://kipdola.be/gitweb/?p=kiflea.git;a=summary
解決方法
その
warning: remote HEAD refers to nonexistent ref, unable to checkout.
は、リモート(裸の)リポジトリに
ブランチリファレンス
というファイルでは
HEAD
を、同じリポジトリ内のどの公開ブランチにも一致しない値で指定します。
この警告は、git がチェックアウトを行わなかったことを意味するだけであることに注意しましょう。クローンしたリポジトリは、それ以外の点ではまったく問題ありません。
を行うだけです。
git branch -a
で可能なブランチを確認し
git checkout the-branch-you-want
を実行し、問題を回避してください。
この現象は、通常、デフォルトの
内容
は、そのファイル (
.git/HEAD
またはプレーンな
HEAD
は、ベアリポジトリの場合) は
ref: refs/heads/master
これは、もし誰かが
clone
このリポジトリは、デフォルトでは、ブランチ
refs/heads/master
. デフォルトでは、Git はローカルブランチを作成する際に
refs/heads/
の接頭辞があります(つまり
master
をデフォルトで使用します)。試す
git help symbolic-ref
をご覧ください。
この状況での問題は、Git が
リモート
シンボリックリファレンスを使うには、Git ホスティングプロバイダーが実装している方法 (たとえば GitHub の Settings - Default branch は、管理者権限を持っている場合) を使うか、あるいはブランチ名
master
をデフォルトブランチとして指定します (これは、ファイル
HEAD
であり、そのファイルを修正できない場合は
master
永遠に)。
リモートの git リポジトリにシェルでアクセスできる場合は、単純に
cd path/to/git/repo; git symbolic-ref HEAD refs/heads/XYZ
ここで
XYZ
は、デフォルトで使用したいブランチ名です。
この問題を解決するひとつの方法として、コミットしていないリモートベアリポジトリを新規に作成して
git push name-of-the-remote my-special-branch-name
これは、単一のブランチを含むベアリポジトリになります。
my-special-branch-name
しかし
HEAD
を指すデフォルトの値が含まれています。
master
. その結果、前述のような警告が表示されます。もし、リモートの
HEAD
ファイルでは、ブランチを公開することができます。
git push name-of-the-remote my-special-branch-name:master
というローカルブランチは
my-special-branch-name
はブランチとして公開されるべきです
master
をリモートで実行します。
関連
-
[解決済み] 現在のブランチのトラッキング情報がありません。
-
[解決済み] Git - node_modules フォルダをどこでも無視するようにしました。
-
[解決済み] リモートブランチにプッシュできない、ブランチに解決できない
-
[解決済み] サブモジュールを含む "git clone "の方法は?
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み] Gitのプッシュを正しく強制する方法は?
-
[解決済み] Git で単一のブランチをクローンする方法を教えてください。
-
[解決済み] 古いリモート git ブランチのクリーンアップ
-
[解決済み】ローカルリポジトリのブランチをリセットして、リモートリポジトリのHEADと同じにする
-
[解決済み】Gitのワークフローとrebaseとmergeの質問
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】gitがローカルバージョンをリモートバージョンに置き換える
-
[解決済み】Gitのエラー。リモートリポジトリへの接続時に「Host Key Verification Failed」。
-
[解決済み】ERROR: Error cloning remote repo 'origin'.
-
[gitコミット失敗の解決] 現在のブランチの先端が後ろにあるため、更新が拒否されました。
-
[解決済み】gitの「not something we can merge」エラーの解決方法
-
[解決済み] Git - node_modules フォルダをどこでも無視するようにしました。
-
[解決済み] SourceTree error:1407742E:SSLルーチン:SSL23_GET_SERVER_HELLO:tlsv1警告プロトコルバージョン
-
[解決済み] VSTS Git Fetch Failed with exit code: 128
-
[解決済み] Gitのフォルダ構造で変更・追加されたファイルのみをエクスポートする機能
-
[解決済み] エラーです。リベースを使用してプルできません。あなたはステージングされていない変更を持っています