如何确保Git跟踪文件名大小写变化
Git默认情况下不跟踪文件名从小写变为大写的修改变化,这会导致命名规范差异以及项目管理隐患
如何确保Git跟踪文件名大小写变化
一、问题背景
- 假设代码仓库中原本存在小写的
app.h
文件,我们处于某些管理习惯原因需要将其改为App.h
以保持命名的同一,在默认设置下Git并不会追踪该修改 - 通过以下指令查看
core.ignorecase
选项,其值默认为true
,此时Git不会追踪文件名首字母从小写换为大写的变化,这不仅让强迫症十分难受,还十分容易引起合并冲突问题
1
git config --get core.ignorecase
二、解决方案
- 若通过指令将其设置为
false
理论上就能跟踪,但存在一些隐患(参考该博客),我处于安全性考虑暂未验证其所述隐患是否可在我本地复现,以后有机会再回来补全该部分笔记
1
2
3
4
//局部
git config core.ignorecase false
//全局
git config --global core.ignorecase false
- 在需要将文件名首字母从小写改为大时,以下方法能保证一定不出错
- 不要直接修改,先将原始
app.h
改为其它名称如xxx.h
,然后git add .
添加到暂存区 - 然后再改为目标的大写名称
App.h
,此时再使用git add .
就能使得修改被跟踪
- 不要直接修改,先将原始
本文由作者按照 CC BY-NC-SA 4.0 进行授权