记录一下 Git 对大小写文件名追踪判定的坑

发布时间:2019-05-15 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了记录一下 Git 对大小写文件名追踪判定的坑脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

3分钟了解一下 GIT 对大小写文件名追踪判定的坑

最近业务上,遇到一个关于 Git 对于大小写文件名变动的追踪判定的坑

所以这篇文章,记录一下 Git 如何判定文件大小写变化

前言

我们都知道 Linux 是严格区分大小写的,

所以如果 Mac 开发时不小心用文件名是Order.vue,然后在routes配置时写的路径是 ../../../order.vue

在部署到Linux时肯定会报错。

问题不是很简单吗,修改下文件名就好了,有啥可说的?

这里就是文章要说的点了

直接修改文件名,会怎样

就是如果你仅仅是把文件名从 Order.vue 修改为 order.vue 然后提交代码。

你如果执行git status,会发现提示你没有变化。

git status

nothing to commit, working tree clean

实际上提交到代码仓库后,你会发现文件的大小写也没有变化。git认为你没有什么变化,文件名依旧是Order.vue

那如何触发文件名的变化呢?

我尝试了2种方法

  • 1.往 Order.vue 里加一句空行或者注释,触发一下这个文件名的变化
  • 2.修改 Order.vue 为 Order111.vue, 然后再把 Order111.vue 修改回 order.vue ,触发一下这个文件名的变化

结果是都失败了...

总结:如果仅仅是修改文件名的大小写的话,Git 不会判定文件名有变化

那最后怎么做呢?

  • 1.直接修改route.js,就直接用大写Order.vue这个文件名作为路由,不变化文件名了
  • 2.先把文件名随便改为 test.vue 提交上去,再提交第二次把文件名改回来,比如改成order.vue。 这样肯定是能判定文件名的修改的

补充: git mv 修改文件名大小写是可以被 git追踪的

哈哈,评论区告诉我一个技巧..

git mv Order.vue order.vue 直接用 mv 命令操作的话,git 是知道文件名变化的

https://stackoverflow.com/que...

感觉这个就是写文章的好处呢,出来献丑,好歹也能有个人指正,不是嘛~

以上,就是在业务开发里遇到的一个小坑,小小的记录一下。

脚本宝典总结

以上是脚本宝典为你收集整理的记录一下 Git 对大小写文件名追踪判定的坑全部内容,希望文章能够帮你解决记录一下 Git 对大小写文件名追踪判定的坑所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。