無い!無い!(git)
共有リポジトリからgit cloneしてきたら作業ファイルが無い。
.git以下はちゃんと中身が詰まっているのに何故?
というのが今日やられたところ。
.gitはあるからrevertしてみようとか、pullするといいんじゃね?とかやってみたけどgitさんはエラーを返すばかり。
ギブアップして共有リポジトリに問題が無いかlogを見ようとしたら、原因へのとっかかりを得る事が出来た。
$ cd shared_repo.git $ git log fatal: bad default revision 'HEAD' $ cat HEAD ref: refs/heads/master
多分、共有リポジトリの作り方が悪かったんだ。
(と、そのときは考えた)
この共有リポジトリは大元の作業ローカルから
$ git clone --bare /hoge/huga shared_repo.git
してきたもの。
最初に空の共有リポジトリを作って、ローカルにcloneして変更を加えていったものではなかった。
そして、元作業ローカルに移動してHEADを確認ついでにbranchを確認したときに根本の問題が判明した。
$ git branch * (no branch)
oh... masterブランチが無い(何故?)
今まで延々とno branchにコミットして今に至るらしい。
no branchの状態を是正すればきっとうまくいく。
$ git branch master $ git branch * (no branch) master $ git checkout master $ git branch * master
と、(当然ながら)masterを作って切り替えるだけでいままでのlogも全てmasterに移行できた。
どういう経緯でno branchのみとなったのかは不明でした。
このあと、共有リポジトリを作り直し、そこから再び最初の目的であったcloneをしたら作業ファイルがちゃんと展開されていました。
おしまいっと。