从服务器导入更改后GIT出现错误

9
我试图弄清楚一个网站上的函数为什么在本地能够正常工作,但是在远程却不能。因此,我的想法是下载远程网站并执行 git diff 命令以查找任何差异。
然而,自从我这样做之后,所有的 GIT 命令都会遇到以下问题:
fatal: Unable to read current working directory

我毁掉了代码库吗?这个情况可以挽回吗?

3
通常情况下,当你在一个已经不存在的目录下使用git命令时会出现这种情况。你确定你没有删除或重命名存储库的目录吗? - Ionuț G. Stan
1
多么奇怪,文件夹结构完全相同,但由于被覆盖(仓库存在于站点的一部分而不是整个站点),我只需重新进入文件夹即可。虽然我的计划最终失败了,因为它报告了对从未更改过的文件的更改,并且对应该被跟踪的文件进行了未跟踪的更改! - Mild Fuzz
“下载远程站点”?我猜那是用非 Git 的东西,比如 rsync -hxDPavilyz -H --stats --delete 或者 wget --nh --np --mirror?在这两种情况下,仔细阅读所有选项,特别是 wget 中的 robots.txt - sehe
2个回答

18

我已经遇到这个问题好几次了。尽管听起来很愚蠢,但关闭终端窗口(或 SSH 会话)并打开一个新的终端窗口可以解决这个问题。


1
当你在一个不存在于branch2中的目录中执行git checkout branch2时,就会出现这种情况。在这种情况下,问题可以通过离开该目录来解决.. - Marinos An

8
在你的Shell中输入:
cd "$PWD"

我的猜测是它不存在/已被重新创建。这种情况也会发生在悬挂符号链接上。
否则,请退回到更高的地方。请注意,根据您的Shell,cd .. 可能会或可能不会起作用(如果Shell优化了它,知道当前工作目录,它可能会起作用,否则你将处于困境:Shell无法查找.. 的inode :))

这应该严格禁止使用 @crollywood,因为 . 是旧目录的硬链接。可能是因为 bash 或其他 shell 具有“更智能”的行为,因为 cd 是内置命令。 - sehe
你可能是对的,@sehe,因为我确实使用了bash,但无论如何,它对我起作用了 :) - crollywood

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