当连接到我们的生产服务器时ssh
,有时在 git 存储库中运行ls
并同时查看 的输出时,htop
我可以看到一个进程git status --porcelain --ignore
作为ls
.当服务器的磁盘 IO 饱和并且执行ls
需要足够长的时间才能看到短暂的 git 命令时,我可以发现这一点。为什么前面提到的 git 命令作为 的子命令运行ls
?
答案1
您的ls
命令实际上可能是更复杂的命令的别名;您可以尝试运行/bin/ls
或\ls
,您不应该看到相同的行为。该alias
命令可以显示您是否有别名ls
以及别名是什么。
您的 shell 提示符也可以配置为运行这样的命令:将各种 git 信息(目录状态、最新提交 ID、分支名称等)放入提示符中是“常见的”,并且为此git status
必须自动运行每次命令调用后。