windows git 刚 clone 的项目存在脏文件(mod
2020-12-24 本文已影响0人
田丰w
问题描述
新的机器, windows 系统, 之前一直在 linux 下开发.
在新 clone 一个项目后, 竟然发现刚 clone 的项目里有脏文件, 处于 modified 状态.
并且无论 stash, 还是 add / commit 都无法消除这种状态.
原因分析
看到出问题的几个文件, 都是之前在 linux 里曾经改过文件名大小写的.
linux 路径区分大小写, 而 windows 不区分, 猜测这是造成问题的原因.
还一度猜测是 windows terminal 集成 wsl 里的 ubuntu 子系统有bug, 然而 windows 版本的 git 也是同样的表现就排除这个可能了.
解决方案
- 备份脏文件到项目外
- 删除项目内的脏文件
- 提交项目
- 确认好文件名大小写之后,把项目外的文件加回项目
- 再次提交项目
- 如果其他分支也有这样的问题,按上面再来一次
注意
- 以后 git 管理的项目, 尽可能避免对文件名大小写的变动. 会给用 windows 的同事造成麻烦