如果你使用 git 做项目管理,你可能会遇到一个非常棘手的问题:git 默认是不区分文件名大小写的。
这意味着如果你修改了文件名的大小写,git 会认为文件没有变化,从而导致本地和远程仓库不一致,甚至出现运行错误。
那么,你是如何发现和解决这个问题呢?有没有什么好的方法可以让我们在使用 git 时避免这个问题呢?
本文将为大家介绍一个实用的技巧:配置 git 让它能够识别文件名大小写。
这种技巧可以让我们在修改文件名大小写时,git 能够正确地跟踪文件变化,并及时地同步到远程仓库,这样就可以避免因为文件名大小写不一致而导致的各种问题
接下来,我们将通过一个实例来深入了解这个实用的技巧。
演示
首先我们来看一个项目。
这个项目有一个文件夹 Components 文件夹中有一个
avatar.vue
和
Upload.vue
文件。
我们使用 git init 对项目进行初始化。
然后提交到本地仓库。
后来呢,我们发现文件文件夹与文件的名字并不是很合适,想给它改一改名字。
我们将文件夹
Components
与文件
Upload.vue
的首字母都改成了小写。
改成小写之后你会发现一个神奇的现象:git 对这个改动没有跟踪记录。
g这是因为 git 默认情况下是不区分大小写的,你更改了以后它还认为是大写的,它只关心文件内容是否变化,而不关心文件名是否变化。
这就会造成一系列不可预知的问题。
比如,我们之前使用的是大写,提交到了远程的 git 仓库,那么仓库记录的就是大写字母的文件。
而将来有一天我们把本地的大写改成小写之后就没有跟踪记录了,它就没有办法同步到远程,远程那边仍然是大写的,本地是小写字符。
于是在做本地开发的时候,会按照小写字母的文件来进行开发,而一部署到服务器,服务器那边还是大写字母的文件,你说出不出问题?
这种问题还不好排查,运气不好一上午都查不到问题在哪,本地好好的远程就出问题了。
配置
所以呢必须要让 git 能够识别大小写,其实做法非常简单,只需要一行配置就搞定了。
git config core.ignorecase false
这是对 git 的一个配置,默认是忽略大小写的,我们将它配置为
false
它就不在忽略了。
我们再看是不是就有跟踪记录了?那么这个时候再次提交,把新的记录上传到服务器上就没问题了。
总结
今天呢就讲这么个小东西,知识虽小,但是解决问题确不小。
没有踩过坑的人,一定要加上这个配置。
文章的最后,子辰向大家重点推荐一下我们渡一的《大师课》,本文读者,大家可以来免费领取
这套课程包含
- 事件循环
- V8引擎原理
- 浏览器渲染原理
- 一线企业项目
- Vue响应式源码
首先,向大家着重说明,课程是“绝对免费的”,拿出这个顶配课程,就是我们向大家做个品牌宣传。没有套路,真心可鉴。
课程由渡一技术总监 袁进老师 主讲:
此套课程,从V8引擎原理讲到Vue源码,均是前端骨架级内容,是最底层、最核心的部分****。
课程内含大量笔面试真题详解,其深度甚至超越部分面试官的理解,如面试中遇到课程里的内容,袁老师的讲解就是绝对的“标准答案”,对此我们愿负责到底。
就功效而言,一套《大师课》相当于500篇技术文章的价值总和。
课程所讲皆是根源性的知识,一经掌握将一通百通,会大幅增强你对其他知识的理解。对于大部分的前端从业者,此套课程至少可提升你30%以上的功力,对于想高薪就业、在职提薪的同学,此套《大师课》更是你必须掌握的“必修”课程。
添加根据下方名片引导,向助理老师领取即可。
最后,祝愿每一位为自己人生奋斗的同学,厚积薄发,前程似锦。
版权归原作者 子辰Web草庐 所有, 如有侵权,请联系我们删除。