为什么 "git status" 显示太多未跟踪的文件?
Why does "git status" show way too much untracked files?
答案在最下方
我试图在 git_test2
目录中查看我的文件 status
,该目录包含 3 个名为 test1.txt
、test2.txt
和 test3.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
,现在它显示的正是我所期望的。谢谢大家!
嗯,我看起来有点像你的 .git
文件夹不在你的产品中,但我上面有几个文件夹。然后,当您在您的项目中并设置 git 状态时,您会看到 ../../
,这意味着您处于 Git 存储库的第二层。
也许您应该再次克隆该存储库并检查您的 git 结构。
如您所见,文件路径以 ../..
开头。
Git status 总是显示 all 当前 repositroty 中的更改,而不仅仅是当前目录中的更改。如您所见,它实际上显示了存储库中的更改,其中您至少有 2 个文件夹深。但是没有文件 test1.txt
.
因此,请检查 pwd
您是否在正确的目录中(也许您当前在另一个存储库中)。
为什么有这么多文件?
git 存储库只是位于项目目录中的 .git/
目录(文件夹)。像这样:myproject/.git/
.
如果您的当前目录中没有 git 存储库,git 会在父目录中搜索,然后在父目录中搜索,直到顶部 。
由于您的路径是 /Users/ishayfrenkel1/Desktop/git_test2
,因此该路径中的某处应该有一个 git 存储库。
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
答案在最下方
我试图在 git_test2
目录中查看我的文件 status
,该目录包含 3 个名为 test1.txt
、test2.txt
和 test3.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
,现在它显示的正是我所期望的。谢谢大家!
嗯,我看起来有点像你的 .git
文件夹不在你的产品中,但我上面有几个文件夹。然后,当您在您的项目中并设置 git 状态时,您会看到 ../../
,这意味着您处于 Git 存储库的第二层。
也许您应该再次克隆该存储库并检查您的 git 结构。
如您所见,文件路径以 ../..
开头。
Git status 总是显示 all 当前 repositroty 中的更改,而不仅仅是当前目录中的更改。如您所见,它实际上显示了存储库中的更改,其中您至少有 2 个文件夹深。但是没有文件 test1.txt
.
因此,请检查 pwd
您是否在正确的目录中(也许您当前在另一个存储库中)。
为什么有这么多文件?
git 存储库只是位于项目目录中的 .git/
目录(文件夹)。像这样:myproject/.git/
.
如果您的当前目录中没有 git 存储库,git 会在父目录中搜索,然后在父目录中搜索,直到顶部 。
由于您的路径是 /Users/ishayfrenkel1/Desktop/git_test2
,因此该路径中的某处应该有一个 git 存储库。
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