在文件系统边界停止(未设置git_discovery_across_filesystem)-之前已初始化git

xzlaal3s  于 2023-08-01  发布在  Git
关注(0)|答案(1)|浏览(238)

我有一个正常工作的git repo,在一次rebase过程中,我的Windows PC崩溃了,重启后,我看到的只是

Stopping at filesystem boundary (git_discovery_across_filesystem not set)

字符串
任何git命令的结果都是fatal: not a git repository (or any parent up to mount point /mnt)
我不需要git init,因为我已经有了一个初始化的repo(我只是做了它)。
请注意,我在Windows上的WSL中使用/mnt/ path
有人要做什么吗?我是否丢失了所有本地git数据?

ie3xauqp

ie3xauqp1#

简短回答

似乎你正在使用一个特殊的卷(分区或外部设备),在你的电脑崩溃后还没有重新挂载。返回到/home,然后尝试重新挂载,然后再试一次。

长回答

这条消息表示您在运行命令时当前不在Git存储库中。
为了知道它在哪里,Git实际上检查了当前工作目录中名为.git的子目录的内容,该子目录应该位于存储库的顶部。如果找不到这个子目录,Git会认为你当前在仓库的一个子目录中,并因此进入父目录。而且它会做尽可能多的次数,只要有必要。
但最终还是要停下来。如果它到达根目录/(根据定义,上面没有任何东西),或者如果它到达一个挂载卷的顶部目录(假设新仓库的初始化不会传播到两个不同的卷,一个被挂载在另一个之上的某个点),Git实际上会停止查找它。这就是你得到的信息。
你在这里引用的消息指出Git升级到/mnt,这意味着你在这个目录中,这是特殊卷(分区等)或外部存储设备通常安装的地方。
您首先需要在其他地方cd(您的/home是一个很好的地方),然后尝试重新挂载相关的卷,然后返回到以前的目录并重试。你应该检索所有的数据没有重大问题。

注意:如果Git停在/mnt,这可能意味着它将这个地方识别为已知的轴心点,但它也可以将其视为某个卷的真实的顶级目录。在后一种情况下,这可能意味着某些东西已经安装在/mnt上而不是/mnt/something上,因此屏蔽了以前可能安装在这里的所有卷......即使人们可以看到它们,仍然是。

相关问题