我有一个正常工作的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数据?
1条答案
按热度按时间ie3xauqp1#
简短回答
似乎你正在使用一个特殊的卷(分区或外部设备),在你的电脑崩溃后还没有重新挂载。返回到
/home
,然后尝试重新挂载,然后再试一次。长回答
这条消息表示您在运行命令时当前不在Git存储库中。
为了知道它在哪里,Git实际上检查了当前工作目录中名为
.git
的子目录的内容,该子目录应该位于存储库的顶部。如果找不到这个子目录,Git会认为你当前在仓库的一个子目录中,并因此进入父目录。而且它会做尽可能多的次数,只要有必要。但最终还是要停下来。如果它到达根目录
/
(根据定义,上面没有任何东西),或者如果它到达一个挂载卷的顶部目录(假设新仓库的初始化不会传播到两个不同的卷,一个被挂载在另一个之上的某个点),Git实际上会停止查找它。这就是你得到的信息。你在这里引用的消息指出Git升级到
/mnt
,这意味着你在这个目录中,这是特殊卷(分区等)或外部存储设备通常安装的地方。您首先需要在其他地方
cd
(您的/home
是一个很好的地方),然后尝试重新挂载相关的卷,然后返回到以前的目录并重试。你应该检索所有的数据没有重大问题。注意:如果Git停在
/mnt
,这可能意味着它将这个地方识别为已知的轴心点,但它也可以将其视为某个卷的真实的顶级目录。在后一种情况下,这可能意味着某些东西已经安装在/mnt
上而不是/mnt/something
上,因此屏蔽了以前可能安装在这里的所有卷......即使人们可以看到它们,仍然是。