You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode源码控制与终端冲突:version.json类型变更问题求助

解决方案:WSL Git与VSCode软链接路径错误及typechange问题

问题根源

Windows与WSL的文件系统对符号链接(软链接)的实现机制不同,导致Git跨环境识别时出现路径错误,将软链接标记为typechange变更,且常规撤销操作无法清除该状态。

分步解决步骤

1. 清理并重建正确的软链接(WSL终端操作)

  • 进入项目根目录,删除异常的软链接:
    rm src/version.json
    
  • 从Git仓库恢复原始软链接:
    git checkout -- src/version.json
    
  • 若软链接为本地生成,务必在WSL内重新创建(不要用Windows的mklink):
    ln -s ../实际文件路径/version.json src/version.json
    

2. 配置Git支持跨环境软链接

  • 在WSL终端开启Git软链接支持:
    git config core.symlinks true
    
  • 配置VSCode使用WSL的Git(避免Windows Git的兼容性问题):
    打开VSCode设置,搜索git.path,设置值为/usr/bin/git(可通过which git在WSL终端确认具体路径)

3. 调整lint-staged配置,避免误处理软链接

修改package.json中的lint-staged配置,排除软链接文件,防止格式化工具误修改:

"lint-staged": {
  "src/**/*.{js,jsx,ts,tsx}": [
    "eslint --fix"
  ],
  "src/**/*.{css,js,jsx,ts,tsx}": [
    "prettier --write"
  ],
  "!src/version.json": []
}

4. 彻底重置Git缓存(若上述步骤无效)

  • 清除Git对该文件的缓存记录:
    git rm --cached src/version.json
    
  • 重新将软链接加入Git跟踪:
    git add src/version.json
    
  • 提交变更:
    git commit -m "Fix symlink issue for version.json"
    

内容的提问来源于stack exchange,提问作者Bernardo Marques

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 17:01:18