为什么“git status”显示太多未跟踪的文件?

时间:2015-05-27 07:49:29

标签: git git-status

在底部回答。

我正在尝试查看status目录中的git_test2个文件,其中包含3个名为test1.txttest2.txttest3.txt的文件。

这是我输入终端的内容:

cd Desktop
cd git_test2
git status

git status命令之前,一切都很好。它应该只显示3个未跟踪的文件,但我从终端获取此文本:

On branch master

Initial commit

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

new file:   ../../AndroidStudioProjects/Sunshine/app/src/main/res/layout/list_item_forecast.xml
new file:   ../../Library/Preferences/AndroidStudio1.2/options/fileEditorProviderManager.xml
new file:   ../../Library/Preferences/AndroidStudio1.2/options/git.xml
new file:   ../../Library/Preferences/AndroidStudio1.2/options/other.xml
new file:   ../../Library/Preferences/AndroidStudio1.2/options/runner.layout.xml

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

modified:   ../../AndroidStudioProjects/Sunshine/app/src/main/res/layout/list_item_forecast.xml
modified:   ../../Library/Preferences/AndroidStudio1.2/options/runner.layout.xml

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

../../.CFUserTextEncoding
../../.Rsupport/

在最后一行之后有许多行,就像最后一行(红色)

我刚刚找到原因: 我需要做的只是git init,现在它显示了我的预期。谢谢大家!

3 个答案:

答案 0 :(得分:10)

为什么有这么多文件?

git存储库只是位于项目目录中的.git/目录(文件夹)。像这样:myproject/.git/

如果您当前目录中没有git存储库,git 会在父目录中搜索,然后在父级父级中搜索,直到顶部

由于您的路径为/Users/ishayfrenkel1/Desktop/git_test2,因此此路径中应该有一个git repo。

new file:   ../../Library/Preferences/AndroidStudio1.2/options/git.xml

新文件的路径距离/Library至少有两个等级(/Library/Users/ishayfrenkel1/Library)。这意味着您已启动git存储库:

  • 位于您的主目录中:~/,OSX上的/Users/<username>/或Linux上的/home/<username>
  • 或在根目录/中,所有目录的父目录。

怎么回事。

很可能您打开了终端并输入了git init。默认情况下,终端在您的主目录中打开,这就是新存储库的创建位置。

现在该做什么。

搜索并删除它。应该运行以下命令之一而不会出现错误。它就在那里!

ls /.git
ls ~/.git

现在使用

删除存储库
rm -rf ~/.git

答案 1 :(得分:0)

嗯,我看起来有点你的.git文件夹不在你的产品中但我上面的文件夹很少。然后当你进入你的项目并且你获得一个git状态时,你会看到../../,这意味着你在Git存储库的第二层。

也许您应该再次克隆该存储库并检查git结构。

答案 2 :(得分:0)

如您所见,文件路径以../..开头。 Git状态始终显示当前repositroty中的所有更改,而不仅仅是在当前目录中。如您所见,它实际上显示了存储库中的更改,其中您至少有2个文件夹深度。但是没有文件test1.txt

因此,请与pwd一起检查您是否在正确的目录中(也许您目前正在另一个仓库中)。