有个项目文件放在外置硬盘,本地的修改 git 时不时无法检测到,有时候可以有时候不行(磁盘 IO 很低)。
每次都要rm .git/index && git reset,不知道为什么?
硬盘信息:
  未使用:	1.73 TB ( 1,725,677,821,952 字节)
  容量:	2 TB ( 2,000,188,080,128 字节)
  装载点:	/Volumes/data
  文件系统:	APFS
  可写:	是
  忽略所有权:	是
  BSD 名称:	disk5s1
  物理驱动器:
  设备名称:	Samsung SSD 990 EVO Plus 2TB
  介质名称:	AppleAPFSMedia
  介质类型:	SSD
  协议:	PCI-Express
  内置:	否
  分区图类型:	未知
  S.M.A.R.T. 状态:	已验证
今天(2025-04-30)重新问了chatgpt。
似乎是因为下面这两个配置,为什么会配置这个我也不记得了。
core.trustctime=false
core.ignorestat=true
$ git config --list --show-origin
file:/opt/local/etc/gitconfig   credential.helper=osxkeychain
file:/Users/leon/.gitconfig     user.name=xx
file:/Users/leon/.gitconfig     [email protected]
*file:/Users/leon/.gitconfig     core.trustctime=false*
*file:/Users/leon/.gitconfig     core.ignorestat=true*
file:/Users/leon/.gitconfig     core.autocrlf=input
file:.git/config        core.repositoryformatversion=0
file:.git/config        core.filemode=true
file:.git/config        core.bare=false
file:.git/config        core.logallrefupdates=true
file:.git/config        core.ignorecase=true
file:.git/config        core.precomposeunicode=true
根据chatgpt的说法,
$ git ls-files -v | grep '^[a-z]'
h src/cmd.ts
h src/tikhub-api.ts
文件名前缀说明:
小写字母(如 h):被设置了 --assume-unchanged
大写字母(如 H):正常状态(未设置)  
解决方案是重置文件的状态
git ls-files -z | xargs -0 git update-index --no-assume-unchanged
|  |      1chenliang0571 OP vscode: November 2024 (version 1.96) git: git version 2.47.1 | 
|  |      2daimaosix      289 天前 用的啥硬盘盒 | 
|  |      3chenliang0571 OP @daimaosix 阿卡西斯 TBU405Air | 
|  |      4crac      289 天前 散热和供电 至少其中一个问题 | 
|      5lw0717      289 天前 我之前出现这种情况的时候,是硬盘坏了,垃圾梵想 | 
|  |      6chenliang0571 OP 似乎找到了解决方案,初步看是这个问题。 |