如何让Git清理并重建完整工作区,同时保留本地分支状态?
彻底清理Windows下Git大小写冲突目录的操作指引
背景说明
我们已在master分支完成重复大小写目录的清理并推送,但由于Windows系统与Git的大小写交互机制,git pull无法自动清理本地工作站上的错误目录。以下是在保留本地分支状态的前提下,彻底重建干净工作区的操作步骤:
操作步骤
1. 暂存/备份本地未提交改动
如果有未提交的代码修改、本地配置文件等,先通过Git暂存:
git stash push -m "暂存本地未提交改动"
若有不在Git追踪范围内的重要文件(如本地自定义配置),请手动复制到仓库目录外备份
2. 清理本地工作区文件(保留.git目录)
打开Git Bash,进入仓库根目录,执行以下命令删除所有非.git目录的文件和文件夹:
rm -rf * .[^.]*
该命令会删除仓库内除.git文件夹外的所有内容,确保工作区完全清空
3. 拉取干净的远程代码
执行命令将本地分支与远程master分支强制同步,重建干净的工作区:
git reset --hard origin/master
如果需要同步其他分支,将origin/master替换为对应的远程分支名即可,如origin/develop
4. 恢复本地暂存的改动(可选)
如果之前暂存了改动,执行以下命令恢复:
git stash pop
恢复后请检查是否有冲突,及时处理并提交
后续预防措施
- 后续创建目录/文件时,严格遵循团队统一的大小写规范(如全小写、驼峰命名等)
- 建议在本地Git配置中开启大小写敏感检查,避免误创建重复目录:
git config core.ignorecase false
内容的提问来源于stack exchange,提问作者Joshua
相关产品推荐
相关产品推荐

