我对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
答案 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