git:致命:错误的默认修订' HEAD'所有新的回购

时间:2014-08-01 19:40:50

标签: git

问题是大量的shell定制。

如果我尝试使用git init创建新的回购,则会给我fatal: bad default revision 'HEAD'两次。

如果我git log,它会三次给我同样的错误。

我已根据我发现的其他答案删除了~/.git~/.config~/.gitconfig,说明我可能已在我的主目录中创建了回购。唯一没有给我这个问题的回购是我从别人那里克隆出来的回购。

我不确定我做了什么,除了在我的主目录中删除git信息中的任何内容。

根据要求:

jsw:~ jsw$ mkdir test
jsw:~ jsw$ cd test
jsw:test jsw$ git init
Initialized empty Git repository in /Users/jsw/test/.git/
fatal: bad default revision 'HEAD'
fatal: bad default revision 'HEAD'
jsw:test(master|23448707m) jsw$ cat .git/HEAD
ref: refs/heads/master
fatal: bad default revision 'HEAD'
fatal: bad default revision 'HEAD'


jsw:~ jsw$ git status
fatal: Not a git repository (or any of the parent directories): .git

3 个答案:

答案 0 :(得分:5)

您可能会收到此错误,因为您的HEAD修订版没有任何提交,因此当您创建git log时,它将无法在HEAD上找到任何提交。

请尝试:

mkdir test
cd test
git init
git commit -m 'Initial Commit' --allow-empty
git log

答案 1 :(得分:3)

你跑cat .git/HEAD并回复:

ref: refs/heads/master
fatal: bad default revision 'HEAD'
fatal: bad default revision 'HEAD'

由于cat不是git命令,并且不关心您的HEAD,我怀疑您已将shell配置为执行类似打印当前分支的名称的操作

实际上,查看shell提示符:

jsw:test(master|23448707m) jsw$

我很确定。

要么关闭你想要执行的任何shell魔法,修复它以便它知道如何处理新的存储库,或者只是在你第一次提交之前处理错误消息。

答案 2 :(得分:0)

请使用以下命令

git初始化 git commit -m'初始提交'--allow-empty git log

然后您运行reflog,您将看到ref#