在 git 存储库中运行“ls”会生成“git status --porcelain --ignore”

在 git 存储库中运行“ls”会生成“git status --porcelain --ignore”

当连接到我们的生产服务器时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必须自动运行每次命令调用后。

相关内容