当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大小写敏感/默认不敏感),如何重命名并提交的更多相关文章
- samba服务器上文件名大小写
samba服务器上文件名大小写 如果给HP_UX配置samba之后,通过windows访问有时候会发现文件名大小写不对时,请注意下述配置信息是否正确.在/etc/opt/samba/smb.conf中 ...
- git上传中的排除的配置文件, git实际的操作代码;
git上传中的排除的配置文件: git实际的操作 在主目录建立.gitignore文件并输入以下保存: *.class #package file *.war *.ear #kdiff3 ignore ...
- 当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更改文件名大小写,提交失败问题解决
背景:某java文件大小写写错了,一直提交不上去 例如我只是将updatePrivacySettingsTest.java变更为UpdatePrivacySettingsTest.java,但是add ...
- git上传(本地和远程有冲突时)
一. 冲突的产生:在上次git同步(上传)之后,本地和远程均有更改 二. 处理 1. 丢弃本地,采用远程: git checkout 冲突文件及其路径 如: git checkout bzrobot_ ...
- 从git上pull下的代码,执行时提示:ModuleNotFoundError: No module named '......',解决方法如下:
方法一: 如果没有安装,如下: 1.PyCharm : file-> setting->Project interpreter–>package2.右侧有个+ 点击3.进入后 搜索p ...
- 【Git】工作中99%能用到的git命令
Git使用笔记 1.第一次使用github ============================================= 1)github注册账号 使用邮箱注册账号 先不要创建版本库 2 ...
- git 学习笔记 —— 获取远端分支并修改后提交至远端仓库
笔者最近进行开发过程中,所有参与者的代码需要通过 git 上传到远端仓库中,不同的模块对应不同的 git 分支,不同模块的数据需要从远端仓库中获取.这里记录下笔者从远端仓库中获取分支数据,进行修改,最 ...
随机推荐
- 面试常问Spring IOC,不得不会。
广义的 IOC IoC(Inversion of Control) 控制反转,即“不用打电话过来,我们会打给你”. 两种实现: 依赖查找(DL)和依赖注入(DI). IOC 和 DI .DL 的关系( ...
- Overture里如何添加震音记号
五线谱里的震音记号是指当一个或数个音以相同的时值反复奏响,为了减少乐谱写作中的工作量,而使用的一种省略记号.震音记号用短斜线表示,斜线的数目与演奏时的符尾数目相同. 震音可以分为单震音和复震音两种.单 ...
- P4725 【模板】多项式对数函数
思路 考虑对ln求导后处理 根据复合函数的求导法则\(g'(f(x))=g'(x)f'(x)\) 得到 \[ \ln F(x) '= \frac{F'(x)}{F(x)} \] 最后对这个式子积分 \ ...
- 获取动态代理生成的.class文件
生成代理类,并写入硬盘:配置系统属性sun.misc.ProxyGenerator.saveGeneratedFile为true,代理类生成时将自动将生成的代理类写入硬盘 ? 1 2 3 4 5 6 ...
- Spring Boot配置加载顺序
如果加载的配置有重复的,它们的加载顺序是这样的,数字越小的优先级越高,即优先级高的覆盖优先级低的配置. Devtools global settings properties on your home ...
- CentOS7.5下安装、配置mariadb --CentOS7.5
1.安装mariadb [root@VM_39_157_centos bin]# yum -y install mariadb-server 2.启动mariadb服务 [root@VM_39_157 ...
- spoj1433 KPSUM
题意:略: 首先知道10,20,......100,200,1000的前面的符号都是负号. 举具体例子:221时,计算过程为 000-009, 010-019, 020-029...... ...
- script利用src引用外部js文件,如果内部嵌套了js代码呢
<script src='test.js' defer async> var a = 5; </script> 这个时候 var a = 5;会被忽略.
- 函数, arguments对象, eval,静态成员和实例成员
函数创建: 3种创建函数的方式 * 直接声明函数 function funcName(/*参数列表*/){ //函数体 } * 函数表达式 var funcName = function(){ ...
- Codeforces Round #349 (Div. 1)E. Forensic Examination
题意:给一个初始串s,和m个模式串,q次查询每次问你第l到第r个模式串中包含\(s_l-s_r\)子串的最大数量是多少 题解:把初始串和模式串用分隔符间隔然后建sam,我们需要找到在sam中表示\(s ...