当前位置: 首页 > news >正文

WSL Git Clone 项目识别 `.git` 问题记录

1. 问题发现

在 WSL 本地 /home/gxj/projects/ruoyi-hr-front 目录下直接从远程仓库 clone 项目:

git clone https://github.com/xxx/yyy.git
cd ruoyi-hr-front
git status

输出提示:

On branch master
Your branch is up to date with 'origin/master'.Untracked files:(use "git add <file>..." to include in what will be committed)<整个项目目录里的所有文件>

特征:

  • .git 文件夹存在
  • git fsck 输出正常,仓库完整
  • 仓库位于 WSL 本地 /home/...
  • Git 版本为 Linux 本地 Git (/usr/bin/git)

问题表现为 Git 把整个项目都标记为未跟踪文件,无法正确识别远程仓库内容。


2. 问题分析

排查要点:

  1. 确认 .git 完整
ls -la .git
git fsck
  • .git 文件夹存在
  • git fsck 检查 100% 正常

✅ 仓库完整,无 clone 错误或损坏

  1. 确认 Git 版本和来源
which git
  • 输出 /usr/bin/git → Linux 本地 Git
  • 排除 Windows Git 干扰
  1. 文件权限与索引问题
  • WSL/Linux 文件系统严格区分文件权限
  • Git 默认会检测文件模式 (core.fileMode)
  • 如果 clone 下来的文件权限与索引不一致,Git 会误判整个目录为未跟踪文件

3. 解决方案

  1. 关闭文件模式检测
git config core.fileMode false
  1. 重置索引,刷新工作目录
git reset --hard HEAD
  1. 查看状态确认
git status

输出应为:

On branch master
Your branch is up to date with 'origin/master'.nothing to commit, working tree clean

✅ Git 正常识别仓库文件,工作区干净


4. 原因剖析

  1. WSL 文件系统权限严格
  • WSL 对 Linux 权限敏感,而 clone 下来的文件权限可能和 Git 索引记录不同
  • Git 默认开启 core.fileMode 检测权限
  1. Git 在 Linux 下 index 识别机制
  • 当工作目录的权限与索引不一致时,Git 会误判文件已修改
  • 因此即使 .git 完整,也会把整个项目标红为未跟踪
  1. 解决方法的原理
  • 设置 core.fileMode false → 告诉 Git 忽略文件模式变化
  • 执行 git reset --hard HEAD → 刷新索引,重新扫描工作目录
  • 最终 Git 能正确识别远程仓库内容,状态正常

5. 总结

  • WSL 下 Linux Git 对文件权限敏感,clone 下来的仓库可能出现 全红未跟踪文件
  • 核心解决办法:
git config core.fileMode false
git reset --hard HEAD
  • 适用于 WSL 所有从远程仓库 clone 的项目,保证 Git 正常识别 .git
  • 不影响提交历史和仓库完整性

文章转载自:

http://xPvUWsi5.skmzm.cn
http://aqR8do5N.skmzm.cn
http://X0VMrgRn.skmzm.cn
http://bzphL4UI.skmzm.cn
http://EiwuGPq3.skmzm.cn
http://8qzC78Dd.skmzm.cn
http://ubeHKXWL.skmzm.cn
http://AoR2bBSG.skmzm.cn
http://kK4f1arl.skmzm.cn
http://A4JWuLys.skmzm.cn
http://2v7TuqGk.skmzm.cn
http://TX3cXgmY.skmzm.cn
http://zQSDiqGU.skmzm.cn
http://HoiujWPW.skmzm.cn
http://Nr72zMZm.skmzm.cn
http://mVVIRrSd.skmzm.cn
http://vT15DqL4.skmzm.cn
http://xn58Soyf.skmzm.cn
http://jdCxp0R5.skmzm.cn
http://rRMFnC2H.skmzm.cn
http://BubOZb66.skmzm.cn
http://tTLAOxFg.skmzm.cn
http://yFUd0gJQ.skmzm.cn
http://DYzfHljN.skmzm.cn
http://27DoIxQN.skmzm.cn
http://hSQ63lsN.skmzm.cn
http://oGvP7s2P.skmzm.cn
http://lD6zXpuQ.skmzm.cn
http://v8T7qDnz.skmzm.cn
http://6mVysTU8.skmzm.cn
http://www.dtcms.com/a/387852.html

相关文章:

  • openHarmony之开源三方库zlib适配讲解
  • GitHub开源免费PDF编辑器推荐:告别破解,高效编辑PDF
  • 贪心算法应用:社交网络影响力最大化问题详解
  • 更改 Compose 应用程序以适应不同环境
  • 大模型——GPT-5-Codex 发布,可以7小时连续编程,但OpenAI 封杀了API
  • 【C语言】C 动态内存管理全解析:malloc/calloc/realloc 与柔性数组实战
  • Python测试框架:unittest、pytest对比
  • 仓颉编程语言青少年基础教程:class(类)(下)
  • 【LVS入门宝典】深入解析负载均衡:LVS的核心作用与实现原理
  • 7.4缓存
  • vscode单击暂时预览文件 双击持续打开文件
  • 机器视觉 真实项目案例征集
  • 一根网线搞定远程运维,GL-RM1PE 深度体验:远程运维、装机、开机一体化的 KVM over IP
  • Ubuntu20.04仿真 | 云台相机可直接使用文件
  • Docker学习记录——构建本地镜像,从Windows向Ubuntu推送
  • MyBatis分页:PageHelper
  • 基于python BERT的新闻文本分类与用户行为预测的分析与应用
  • MFC实战:OBJ模型加载与3D渲染指南
  • FAQ:珠海网络推广哪家好?GEO优化能带来哪些优势?
  • (论文速读)CLR-GAN: 通过一致的潜在表征和重建提高gan的稳定性和质量
  • MFC_Static
  • TDengine IDMP 基本功能——数据可视化(3. 饼图)
  • Spring基础创建
  • 智能的非数学本质
  • CNB迁移和UI定制
  • 基于OpenTelemetry与Jaeger的分布式追踪原理深度解析与实践指南
  • EasyDSS视频直播RTMP推流技术如何实现多机型的无人机视频统一直播
  • 智能扫地机器人方案开发,基于32位MCU
  • 【STM32 CubeMX + Keil】DAC 输出0~3.3V间任意电压
  • git submodule命令详解