Git - 致命错误: 无法获取当前工作目录?

5
当我从一个仓库进行git克隆时,我收到以下提示:
fatal: Could not get current working directory: No such file or directory
我该怎么办?我已经检查了服务器,并发现.git文件已存在。服务器正在运行Gitlab实例。我已经正确配置了ssh密钥,而且之前提交和克隆都没有出现过任何错误,这种情况突然发生了。
值得注意的是,我是在bash脚本中执行git clone命令。
更新:
这是我的bash脚本:
for repo in $repos
do
   git clone $repo /tmp/tmpdir/
   # do stuff with /tmp/tmpdir/
   rm -rf /tmp/tmpdir/
done

对于第一个 repo 没问题,但当 for 进入第二个 repo 时失败,并提示上述致命错误。


这个 bash 脚本会删除任何目录吗?听起来你已经删除了工作目录。 - Andrew Stubbs
1
工作目录是脚本运行的位置,除非该脚本更改了目录。你是如何调用这个脚本的? - Andrew Stubbs
1
你的代码中可能在 do stuff 的某处使用了 cd 命令进入了 /tmp/tmpdir/ 目录,如果是这样,在你的 rm 命令前添加 cd /tmp/ 命令。 - Dave Morrissey
@DaveMorrissey 真是太棒了!我简直不敢相信我错过了这个。 - ComputerFellow
我会把它作为答案添加进去。 - Dave Morrissey
@DaveMorrissey 请帮忙,我会接受的。 :) 我真是太傻了! - ComputerFellow
2个回答

4
我的猜测是,在您的“做事情”部分中,您在目录中更改了目录到“ /tmp/tmpdir/”,所以在下一个循环中,当前工作目录不再存在。修复方法是在删除“ /tmp/tmdir/”目录之前,将目录更改为“ /tmp/”(或任何其他地方)。

0
在我的情况下,这是由于从本地 git 存储库的子目录发出“git clone”命令造成的。我必须先 cd 到另一个目录,然后才能克隆新的存储库。

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