当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 分支,不同模块的数据需要从远端仓库中获取.这里记录下笔者从远端仓库中获取分支数据,进行修改,最 ...
随机推荐
- 剑指offer(56)删除链表中重复的节点
一直忘记更新了,把剑指offer更新完吧.... 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3-&g ...
- 清除wnTKYg 这个挖矿工木马的过程讲述
由于工作需要,我由一个专业java开发工程师,渐渐的也成为了不专业的资深的运维工程师了.感慨一番,书归正传,下面就讲解wnTKYg如何清除.最近项目在做性能测试,发现CPU使用率异常,无人访问时CPU ...
- Container的简单认识
容器是一个标准的软件单元,它将代码及其所有依赖关系打包,以便应用程序从一个计算环境快速可靠地运行到另一个计算环境. Docker容器映像是一个轻量级,独立的可执行软件包,包含运行应用程序所需的一切:代 ...
- Oracle错误——user ** lacks CREATE SESSION privilege logon denied
错误 在删除一个用户TEST的情况下,再次新建用户TEST并赋予sysdba权限,使用plsqldev工具登录数据库TEST用户,报错user TEST lacks CREATE SESSION p ...
- Linux内核 kmalloc, kzalloc & devm_kzalloc 区别【转】
本文转载自:https://blog.csdn.net/u014628531/article/details/50711409 首先,kzalloc()实现了kmalloc()+memset()的功能 ...
- Nat Med:单独使用anti-CTLA4治疗前列腺癌效果差的原因
肿瘤细胞能够分泌特定的细胞因子,结合T细胞表面的受体抑制其活性,从而来影响免疫细胞杀死肿瘤细胞的能力.这一类细胞因子被冠名为抗肿瘤免疫反应的“check point”.针对这类check point信 ...
- JAVA中的值传递和引用传递问题
这是个老生常谈的问题了,引起过无数争论,但可以说一直没有一个令人满意的回答. 有人总结过: 对象是按引用传递的 Java 应用程序有且仅有的一种参数传递机制,即按值传递 按值传递意味着当将一个参数传递 ...
- SparkSql处理嵌套json数据
一.数据准备: { "dc_id": "dc-101", "source": { "sensor-igauge": { ...
- PAC-based methods
PAC 主成分分析 主要的几个步骤: 线性变换,线性无关,主要线性分量(方差加大的方向),求主要线性分量的表达式 其中线性变换的概念(一个矩阵与一个列向量A相乘,等到一个新的列向量B,则称该矩阵为列向 ...
- 数独_erlang解题代码
前几天LP玩数独,玩到大师级各种被虐,我看了看说,分分钟帮你做出来, 结果当然没有做出来. 于是上网搜了下数独的解题代码,看了下C的代码,大多是递归之类的(如http://blog.sina.com. ...