Bash 如何避免删除当前工作目录
综上所述,似乎没有一种合理的方法可以避免表单中出现过多错误: shell init:检索当前目录时出错:getcwd:无法访问父目录:没有这样的文件或目录Bash 如何避免删除当前工作目录,bash,git,Bash,Git,综上所述,似乎没有一种合理的方法可以避免表单中出现过多错误: shell init:检索当前目录时出错:getcwd:无法访问父目录:没有这样的文件或目录 只要当前工作目录被销毁。因此,我已经开始围绕git命令编写包装器,这些命令检查我是否要删除当前工作目录,并在继续之前检查是否失败或cd到顶级工作目录。这似乎是一个可怕的黑客。如果这样做会删除当前工作目录,有没有合理的方法告诉git不要执行命令?或者有没有一种合理的方法让bash告诉STFU并停止打印那个相当烦人的消息?或者提供一个默认目录,b
只要当前工作目录被销毁。因此,我已经开始围绕git命令编写包装器,这些命令检查我是否要删除当前工作目录,并在继续之前检查是否失败或cd到顶级工作目录。这似乎是一个可怕的黑客。如果这样做会删除当前工作目录,有没有合理的方法告诉git不要执行命令?或者有没有一种合理的方法让bash告诉STFU并停止打印那个相当烦人的消息?或者提供一个默认目录,bash只需将其cd到,而不必抱怨。我不知道在什么情况下,
git
会自己秘密删除目录,除非通过命令git mv
或git rm
,在这些情况下,您仍然处于驾驶位置。如果您只担心看到错误消息,但对总体结果感到满意,那么可以从包含这些文本的stderr行中筛选出来。但是一般来说,如果你告诉我们你在用git做什么,这会有帮助,这样就会出现这种情况。@user1934428我可以猜测:当前目录在存储库的某个深处(不是根目录),命令是git checkout
,而被签出的分支没有目录git
删除子树和oops-不再存在当前目录。不需要在repo中“深入”。我遇到的常见情况确实是签出不包含当前工作目录的分支。您可以编写一个shell函数,保存当前wd,将cd放入回购的基本目录,然后签出,然后尝试将cd放回。