当 zsh 进入 git 目录很慢的问题

在编译安卓源码时,由于ZSH会频繁进行Git状态检查,导致操作迟钝,尤其是当安卓代码服务器被墙时。通过运行gitconfig--addoh-my-zsh.hide-dirty1可以禁止ZSH检查目录是否变脏,从而优化性能,将Git的状态管理留给Git自身处理。
摘要由CSDN通过智能技术生成

在编译安卓的时候,需要进入源码目录。但是进去以后,非常迟钝,问了 ChatGPT,也表示不清楚。于是调出 htop 观察了一下,发现每次进出操作甚至 ls 一下,git 都会跳出来运行状态检查:

git status --porcelain --ignore-submodules=dirty

于是直接在目录下运行 git status,也是相当慢,即便去掉 git 插件,删除 git 插件目录还是一样,看来和 git 插件无关,属于 zsh 原生行为。慢的原因清楚了,因为要去远程仓库检查状态,而安卓代码服务器被墙,致使 zsh 死等状态而得不到结果。

同样一句话,让 zsh 不要检查本目录是否很脏就行。还是一句话解决:

git config --add oh-my-zsh.hide-dirty 1

这样无论怎么进出目录都不会有任何影响,总结就是,zsh 太爱管闲事,属于 git 的事情,就应该让 git 去管,目录是否变脏和 zsh 没关系,当然,zsh 不知道的是,git status 包含了检查变脏的功能,也不能全怪 zsh。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值