Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何避免删除当前工作目录_Bash_Git - Fatal编程技术网

Bash 如何避免删除当前工作目录

Bash 如何避免删除当前工作目录,bash,git,Bash,Git,综上所述,似乎没有一种合理的方法可以避免表单中出现过多错误: shell init:检索当前目录时出错:getcwd:无法访问父目录:没有这样的文件或目录 只要当前工作目录被销毁。因此,我已经开始围绕git命令编写包装器,这些命令检查我是否要删除当前工作目录,并在继续之前检查是否失败或cd到顶级工作目录。这似乎是一个可怕的黑客。如果这样做会删除当前工作目录,有没有合理的方法告诉git不要执行命令?或者有没有一种合理的方法让bash告诉STFU并停止打印那个相当烦人的消息?或者提供一个默认目录,b

综上所述,似乎没有一种合理的方法可以避免表单中出现过多错误:

shell init:检索当前目录时出错:getcwd:无法访问父目录:没有这样的文件或目录


只要当前工作目录被销毁。因此,我已经开始围绕git命令编写包装器,这些命令检查我是否要删除当前工作目录,并在继续之前检查是否失败或cd到顶级工作目录。这似乎是一个可怕的黑客。如果这样做会删除当前工作目录,有没有合理的方法告诉git不要执行命令?或者有没有一种合理的方法让bash告诉STFU并停止打印那个相当烦人的消息?或者提供一个默认目录,bash只需将其cd到,而不必抱怨。

我不知道在什么情况下,
git
会自己秘密删除目录,除非通过命令
git mv
git rm
,在这些情况下,您仍然处于驾驶位置。如果您只担心看到错误消息,但对总体结果感到满意,那么可以从包含这些文本的stderr行中筛选出来。但是一般来说,如果你告诉我们你在用git做什么,这会有帮助,这样就会出现这种情况。@user1934428我可以猜测:当前目录在存储库的某个深处(不是根目录),命令是
git checkout
,而被签出的分支没有目录
git
删除子树和oops-不再存在当前目录。不需要在repo中“深入”。我遇到的常见情况确实是签出不包含当前工作目录的分支。您可以编写一个shell函数,保存当前wd,将cd放入回购的基本目录,然后签出,然后尝试将cd放回。