当git上文件大小写重命名的修改时(git大小写敏感/默认不敏感),如何提交
git默认是大小写不敏感!!!
加了感叹号是什么意思呢,意思就是这本身就是一个坑,本人使用的IDE是idea(网上说Eclipse可以避开问题),这个IDE本身就集成了git,但是如果要在terminal使用git命令,还需先安装并配置好git环境变量,然后在idea配置git安装路径。。。。扯远了,先说说这个坑,在idea上对文件大小写重命名时,比如DataExt.java改成Dataext.java,git是不会做辨认的,即使你看到的是Dataext.java,等到你push到远程分支上去,你会发现分支上的还是DataExt.java,这时别人要是merge你的分支或者checkout下来时,就报错啦。
如何避免:
哎,你上网一搜,都是说把git设置成大小写敏感 git config core.ignorecase false(其实这也是个坑)。。。。
我就分情况解决吧:
1、先说一下git大小写不敏感,也就是默认的情况下如何解决:(建议默认)
使用命令:git mv DataExt.xml Dataext.xml
ps: 文件夹重命名 git mv foldername tempname && git mv tempname folderName (在大小写不敏感的系统中,如windows,重命名文件夹的大小写,使用临时文件名)

此时暂存区的文件已改动
接下来commit到本地分支,最后push上远程分支
git commit -m '提交说明'
git push
使用IDE的可以操作界面提交并推送。
2、接下来要说那些设置了大小写敏感的怎么提交:(不建议设置)
为什么说设置了大小写敏感也是个坑,因为假设
| 分支 | 文件 |
| A | DataExt.java |
| B | Dataext.java |
我在本地的分支B设置了git config core.ignorecase false,并且文件是小写的Dataext.java,接下来如果merge了分支A的话,会出现错误:
error: The following untracked working tree files would be overwritten by merge:
DataExt.java意思是:分支A中的DataExt.java将会重写分支B的文件
那这样的话,假设路人甲和乙都是使用分支A的,你merge他们,就会提示文件将被重写。。。坑啊!
解决方法都是将core.ignorecase设置为true,然后再进行操作,那设置为false又有何意义?
哎。。。对于设置了大小写敏感的修改文件名大小写要怎么提交呢?
首先 记住 将你的文件备份!
然后删除
git rm DataExt.java
,将备份文件重命名Dataext.java放到路径下,添加
git add Dataext.java
,提交
git commit -m '提交说明'

当git上文件大小写重命名的修改时(git大小写敏感/默认不敏感),如何提交的更多相关文章
- 当git上文件名大小写重命名的修改时(git大小写敏感/默认不敏感),如何重命名并提交
git默认是大小写不敏感!!! 加了感叹号是什么意思呢,意思就是这本身就是一个坑,本人使用的IDE是idea(网上说Eclipse可以避开问题),这个IDE本身就集成了git,但是如果要在termin ...
- 当git上只做文件大小写重命名的修改时,如何躲坑
一. 提交时 假设修改ABC.java为Abc.java. 1.1 如果使用git命令进行仅涉及大小写的重命名 1.1.1 设置git库为大小写敏感(不建议) $ git config core.ig ...
- git --删除文件、重命名
修改最后一次提交 git commit --amend -m “” 删除文件:. git rm <需要删除的文件> 只是删除当前工作目录和暂存区的文件,也就是取消跟踪.在下次提交时不纳入版 ...
- 【问题解决方案】git中的文件的重命名
环境: win7 git bash+GitHub 问题: 如果直接在文件夹中手动重命名,Git会判定为删除了旧文件,添加了新文件 版本回退后使用mv命令进行重命名 $ git reset --hard ...
- linux安装PyCharm,PyCharm常用快捷键及调试模式,pycharm里面对文件夹或者文件进行重命名
PyCharm常用快捷键及调试模式 2017年10月18日 23:13:43 菜鸟之神 阅读数:5835 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn ...
- 利用php实现文件迁移重命名
首先表明,这是一个悲伤的故事. 暑假来临,学校安排我们到某软件外包公司实习,想想不用面试也是蛮方便的,可以借此机会向大牛学习学习,虽然没有工资(据说学校还交了600块的保险),但想想还是蛮期待的,但真 ...
- Java实现文件批量重命名
Windows操作系统可以实现重命名文件操作,却不能实现批量重命名.本实例实现了批量重命名功能,可以将一个文件夹内同一类型的文件按照一定的规则批量重命名.用户可以给出重命名模板,程序可以根据模板对相应 ...
- 使用 vim 快速对当前文件夹下的文件批量重命名
前言 我们在使用 Linux 的时候,有很多种方法可以对文件进行重命名,例如 命令行 下的 mv 命令,或者是使用像 dolphin 这样的图形文件管理器.但是有时候需要对一个文件夹下的所有文件批量重 ...
- ASP FSO操作文件(复制文件、重命名文件、删除文件、替换字符串)
ASP FSO操作文件(复制文件.重命名文件.删除文件.替换字符串)FSO的意思是FileSystemObject,即文件系统对象.FSO对象模型包含在Scripting 类型库 (Scrrun.Dl ...
随机推荐
- VS中生成debug和release的小问题
vs里生成dll,需要在解决方案上右键"属性",然后"配置",点击右上角"配置管理器(0)",选择debug或release,方可生效.不然 ...
- 一个想法(续四):IT技术联盟创业众筹进度公示
为了将整个创业过程更加的公开公正透明化,特开此篇用于展示众筹进度. 首轮众筹进度如下:(每天24点更新1次)
- JAVA内存关注总结,作为个程序员需要对自己系统的每块内存做到了如指掌
服务器的JAVA进程使用的内存是否正常 服务器中,JAVA进程的内存占用= JVM内存+ JAVA堆最大内存大小(Xmx)+JAVA堆外内存大小+栈区( 线程数* Xss) 最需要关注: 1., 服务 ...
- java 文件操作 写入和读取(小结一)
参考了这篇博客并优化,谢谢:http://blog.sina.com.cn/s/blog_99201d890101b4le.html 功能: 实现通过两个类完成先写入文件,再读取数据计算显示 pac ...
- SQL极限函数limit()详解<分页必备>
limit含义: limit英语中的含义是限制,限定的意思.小日本曾上映过一个电影就是叫limit是由漫画改编的电影,剧情很变态,但不可否认小日本由于地狭人稠的原因,在观念上的资源危机意识还是很强的哈 ...
- Spring MVC 教程(比较全的一篇文章了)
http://elf8848.iteye.com/blog/875830 11年1月份的文章,但是Spring3,现在是4,不过还是很实用
- 从C#到TypeScript - Promise
总目录 从C#到TypeScript - 类型 从C#到TypeScript - 高级类型 从C#到TypeScript - 变量 从C#到TypeScript - 接口 从C#到TypeScript ...
- 一步一步学Python(2) 连接多台主机执行脚本
最近在客户现场,每日都需要巡检大量主机系统的备库信息.如果一台台执行,时间浪费的就太冤枉了. 参考同事之前写的一个python脚本,配合各主机上写好的shell检查脚本,实现一次操作得到所有巡检结果. ...
- CLAHE的实现和研究
CLAHE算法对于医学图像,特别是医学红外图像的增强效果非常明显. CLAHE https://en.wikipedia.org/wiki/Adaptive_histogram_equalizati ...
- Java包装类缓存
1.基本概念 在jdk1.5及之后的版本中,Java在5大包装类中(Byte,Charactor,Short,Integer,Long)增加了相应的私有静态成员内部类为相应包装类对象提供缓存机制,In ...