整个计算机在Git状态下未被跟踪的文件

10

我是 Git 的新手,我认为我不小心在根目录下克隆了。当我提交一个文件(index.html)时,我注意到我的整个电脑(我的桌面、我的文档等等)都有未跟踪的文件。我删除了仓库,我想要移除所有未跟踪的文件,但显然不能删除我电脑上的所有东西。我是新手,非常担心会丢失我的文件。


你有/.git目录吗?(如果是这样,作为root运行并在/中执行任何操作是很危险的,特别是当你是新手时。我不会这样做 - 我已经使用Unix工作了足够长的时间,可能比你活得还要久。)如果你有一个/.git目录,在你开始这些操作之前,里面有什么有价值的东西吗?如果没有,那么.git目录在哪里? - Jonathan Leffler
文件未被跟踪并不是一个主要问题(Git 不会对未被跟踪的文件进行任何操作),但您的 Git 存储库的位置可能是个问题。 - Jonathan Leffler
是的,我有一个名为/.git的文件夹,但我无法进入它。我该怎么办?我现在很慌。 - NICK
记住《银河系漫游指南》封面上的那句话:“别惊慌”。你还没有做过任何有害后果的不可逆操作。 - Jonathan Leffler
看起来你正在使用 Mac OS X。同时,你在 $HOME 目录下创建了一个 .git 目录 — /Users/nick/.git。你说你克隆了一些东西 — 那是一个外部 Git 存储库,还是你机器上的另一个 Git 存储库?如果执行 mv $HOME/.git $HOME/mistaken.git.directory,对你会有什么后果?你能回到你期望的 git status 状态吗?你对存储库中的材料做了重要的更改吗?我给出的 mv 命令是安全的,因为它可以撤消。 - Jonathan Leffler
当你确定不需要它时,可以使用 rm -fr $HOME/mistaken.git.directory 将其删除,并重新开始。下次克隆项目时,请确保在您的 $HOME 目录的适当子目录中进行。你说过你认为你有一个无法进入的 /.git 目录。这可能意味着拥有 root 权限的人创建了该存储库。如果不是你而且这是你的机器,请考虑删除它,但你需要知道它属于谁以及他们为什么在根目录下操作。创建它时,该人必须具有 root 权限。 - Jonathan Leffler
3个回答

31

你必须已经运行过

git init

某个地方。您需要找到您运行此命令的文件夹。只需运行:

git status

如果你认为某个地方现在已经处于git“控制”之下,并且你可以通过路径来查看:

比如说,如果你有一个路径像Desktop/myFolder => 你就知道包含Desktop的文件夹是你的git根文件夹。只需导航到那里并运行:

rm -r .git

一切都应该恢复正常 :)

现在我们得到了状态输出 :) ...

好的,正如你所看到的,这个东西的根目录是你的主文件夹。所以只需要这样做:

  1. 移动到主文件夹

    cd ~
    
  2. 删除Git仓库

  3. rm -rf .git
    

    => Git仓库肯定已经不存在了 :)


可以在问题中添加某个目录下 git status 的输出吗?这样下一个遇到同样问题的人也能得到帮助 ;) - Armin Braun
1
@NICK:在你的终端中,首先运行 ls -ld /.git;如果它显示了一个目录,那就是你的仓库所在的地方。如果没有显示任何内容(生成错误消息),则运行 find $HOME -type d -name .git 来查找 Git 仓库。如果这也没有显示任何内容,请将 $HOME 更改为 /,但请注意它将读取系统中所有目录(您有权限访问的)。然后你就找到了你的 Git 仓库。你可以将这些信息添加到问题中,并从那里获得建议。 - Jonathan Leffler
在这种情况下,从github.com删除存储库对于您的本地问题来说有点无关紧要。看起来您在本地机器上的git存储库已经消失了。 不过,无论如何都应该在github.com上将其删除,因为似乎它并不包含您最初想要包含的内容 :) - Armin Braun
未跟踪的文件仅指在您初始化git存储库的文件夹中,尚未被git跟踪。这与已推送到github.com的内容无关。 但可以肯定的是,如果您删除了github存储库,则这些文件可能只存在于您的计算机上 :) 这不是时间问题,一旦.git文件夹消失,git立即意识到这一点。也许只是在执行git状态和先前删除存储库时紧张/时机不佳? - Armin Braun
@JonathanLeffler 我想我找到了位置,但它说没有文件或目录。我该怎么办? - NICK
显示剩余5条评论

1

只需进入C/D或任何其他驱动器,运行git命令 'rm -rf .git'。


0

任何遇到这个问题的人都可能已经为整个磁盘创建了一个存储库。 您可以使用此命令在磁盘的最顶层级别中定位.git文件夹。

git rev-parse --show-toplevel

git rev-parse --git-dir

命令用于显示当前 Git 仓库的顶层目录。当在 Git 仓库中执行该命令时,它将输出该仓库的顶层目录的绝对路径。

该命令将输出 .git 文件夹的路径,进入该文件夹并使用

rm -rf .git

这个命令将删除.git文件夹。 现在一切都会好的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接