Git跟踪整个主目录。获取错误 - 致命:错误的默认修订版“HEAD”

时间:2013-08-03 19:59:29

标签: git

我对git完全不熟悉。我在Mac Terminal工作。

每当我在主目录中执行git status时,都会显示所有未跟踪的文件,stage目录中的文件以及整个主目录中的已提交文件。当我在我的主目录中执行git log时,出现以下错误:

致命:错误的默认修订'HEAD'

如何纠正此错误?如何让git停止跟踪整个主目录的内容而不影响其当前状态?

提前致谢,我为自己的无知而道歉。我只是不想做任何可能对我的主目录造成潜在破坏的事情。

当我在主目录中输入git status时,我得到以下内容:

~ (master) > Kojo$ git status
 On branch master

Initial commit

 Changes to be committed:
   (use "git rm --cached <file>..." to unstage)

    new file:   Desktop/Classes/Person.cpp
    new file:   Desktop/Classes/Person.h
    new file:   Desktop/Classes/Tweeter.cpp
    new file:   Desktop/Classes/Tweeter.h
    new file:   Documents/AoGPMidterm/xcode/TriMesh.h
    new file:   Projects/Testing/Testing/ConditionalClass.cs
    new file:   Projects/Testing/Testing/Lucky_Num.cs
    new file:   Projects/Testing/Testing/NewEnum.cs

 Changes not staged for commit:
   (use "git add/rm <file>..." to update what will be committed)
   (use "git checkout -- <file>..." to discard changes in working directory)

    deleted:    Desktop/Classes/Person.cpp
    deleted:    Desktop/Classes/Person.h
    deleted:    Desktop/Classes/Tweeter.cpp
    deleted:    Desktop/Classes/Tweeter.h
    modified:   Documents/AoGPMidterm/xcode/TriMesh.h
    modified:   Projects/Testing/Testing/Lucky_Num.cs

 Untracked files:
   (use "git add <file>..." to include in what will be committed)

    .3dequalizer/
    .Assimilate/
    .CFUserTextEncoding
    .MacOSX/
    .adobe/
    .android/
    .appletviewer
    .bash_git
    .bash_history
    .bash_profile
    .bashrc
    .bashrcecho
    .bitrock/
    .cache/
    .codeintel/
    .config/
    .cptzzscn

2 个答案:

答案 0 :(得分:16)

出现此错误的原因是您尚未进行初始提交。但是看起来你在错误的目录中初始化了git存储库。

看起来您在错误的目录中运行git init命令。导航到最初运行该命令的目录(看起来像是您的主目录)。

运行ls -la以查看当前目录中的所有文件。您应该看到.git目录。这包含git用于跟踪存储库工作的所有数据。删除你就像你在运行git之前一样回来了。由于您尚未将任何工作投入回购,因此您可以安全地将其删除。

将来,您应该在专门用于您正在处理的项目的文件夹中运行git init。该文件夹中的所有文件和子文件都应该用于您的项目。

如果您刚刚开始使用git,我强烈推荐Pro Git book,可在线免费使用。

答案 1 :(得分:7)

我不确定这是否是您的情况,但您可以从git log

收到错误消息
  

致命:错误的默认修订'HEAD'

如果您刚刚制作了回购协议,但尚未提交任何承诺。如果是这种情况,那么只需添加文件,提交它们,然后再次执行日志:

$ git add "*"
$ git commit -m "Your commit message"
$ git log