我是这一切的新手,目前正在上课学习git。但是,我正在练习分支和合并。我创建了一个新的分支,它已切换,但我的计算机开始出现问题,这导致我关闭它并重新启动。当我回到工作岗位时,我回到了这里:
>git status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what
.gitconfig
AppData/
Contacts/
Creative Cloud Files/
Desktop/
Documents/
Downloads/
Favorites/
Links/
Music/
NTUSER.DAT{9f037fb3-2982-11e3-93f1-b8c
NTUSER.DAT{9f037fb3-2982-11e3-93f1-b8c00000001.regtrans-ms
NTUSER.DAT{9f037fb3-2982-11e3-93f1-b8c00000002.regtrans-ms
ntuser.dat{290469cc-4e2a-11e3-bebb-68500000002.regtrans-ms
我不知道ntuser.dat是什么意思,当我运行git fsck时,我的返回看起来像这样:
注意:HEAD指向未出生的分支(主人) 检查对象目录:100%(256/256),完成。 注意:没有默认参考
当我做git log时,我收到了致命的错误。我试图重置,似乎没有任何工作。有人可以请我帮忙吗?
此外,我正在使用PC,这要求我使用Windows的命令提示符。
答案 0 :(得分:1)
看起来这件事发生了......
git init
中运行了C:\Users\Sandy
。你现在看到的是一个没有提交的Git存储库和一个没有任何指向的主分支。在创建存储库之后,这是正常的。在这里,我现在可以重新创建它。
$ mkdir foo
$ cd foo
$ git init
Initialized empty Git repository in /Users/schwern/tmp/foo/.git/
$ git log
fatal: bad default revision 'HEAD'
$ git status
On branch master
Initial commit
nothing to commit (create/copy files and use "git add" to track)
$ git fsck
notice: HEAD points to an unborn branch (master)
Checking object directories: 100% (256/256), done.
notice: No default references
要解决这个问题,您需要做的只是git add
和git commit
,并且正常进行。
至于为什么你会在git status
中看到所有垃圾,Git存储库会覆盖一个目录和所有子目录。如果您在git init
中运行C:\Users\Sandy
,则存储库将尝试跟踪主目录和所有子目录中的所有内容。 NTUSER.dat是Windows通常隐藏的普通Windows管理文件。 Git并不关心文件是什么,并向您展示一切。
您可能不希望将整个主目录放在版本控制中。并不是说它会伤害任何东西,这是不切实际的。相反,像我一样,创建一个新目录并在那里运行git init
。
至于主目录中的存储库,只需将其删除即可。 Git存储库存储在项目目录中的.git
子目录中。删除C:\Users\Sandy\.git\
即可完成。在上面的示例中,它将是foo/.git/
。
PS您无法在文件上运行git init
,它必须位于目录中。