11

答案在底部。

我试图在包含 3 个名为 和 的文件的目录中查看我status的文件。git_test2test1.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,现在它完全符合我的预期。谢谢大家!

4

3 回答 3

15

为什么有这么多文件?

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 存储库:

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

它是怎么发生的。

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

现在做什么。

搜索并删除它。以下命令之一应在没有错误的情况下运行。它就在那里!

ls /.git
ls ~/.git

现在删除存储库

rm -rf ~/.git
于 2015-05-27T14:13:02.097 回答
0

嗯,我看起来有点你的.git文件夹不在你的产品中,但我上面的文件夹很少。然后,当您在项目中并创建 git status 时,您会看到../../这意味着您处于 Git 存储库的第二级。

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

于 2015-05-27T07:54:04.407 回答
0

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

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

于 2015-05-27T07:55:13.470 回答