我不知道我遇到的是错误还是预期的行为,但幸运的是,我很快就发现了正在发生的事情。
我将我的外壳CD放入git repo的子目录中,并且我执行了git rebase -i
squash操作,其中涉及的提交包括创建该目录。
该操作顺利完成后,shell变为孤立状态,其中git status
(既不在zsh主题助手RPROMPT中,也不在运行时)指示我什至不在git存储库中。
一旦我运行了cd ..
,一切都很好,这一切都说得通。在重新基准化操作的过程中,Git已rm
定位了我所在的目录(在重新基准化的第一步),然后将其放回原目录。自从放回原位以来,我还可以一步一步跑到cd $(pwd)
。
这是一些令人困惑的行为。虽然,目前尚不清楚git在技术上做错了什么。我的问题是这是git
中的错误还是应该让用户知道如何处理这种情况?
还有,更广泛的,实际的根本问题:如果我在已安装的目录中有外壳程序,而不允许弹出磁盘,为什么允许删除外壳程序所在的目录?对我来说似乎不一致。
案例:fuser <directory>
显示当前目录使用。如果程序“在”目录中,则它在“使用”它。
端子1: