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大小写敏感/默认不敏感),如何重命名并提交的更多相关文章

  1. samba服务器上文件名大小写

    samba服务器上文件名大小写 如果给HP_UX配置samba之后,通过windows访问有时候会发现文件名大小写不对时,请注意下述配置信息是否正确.在/etc/opt/samba/smb.conf中 ...

  2. git上传中的排除的配置文件, git实际的操作代码;

    git上传中的排除的配置文件: git实际的操作 在主目录建立.gitignore文件并输入以下保存: *.class #package file *.war *.ear #kdiff3 ignore ...

  3. 当git上文件大小写重命名的修改时(git大小写敏感/默认不敏感),如何提交

    git默认是大小写不敏感!!! 加了感叹号是什么意思呢,意思就是这本身就是一个坑,本人使用的IDE是idea(网上说Eclipse可以避开问题),这个IDE本身就集成了git,但是如果要在termin ...

  4. 当git上只做文件大小写重命名的修改时,如何躲坑

    一. 提交时 假设修改ABC.java为Abc.java. 1.1 如果使用git命令进行仅涉及大小写的重命名 1.1.1 设置git库为大小写敏感(不建议) $ git config core.ig ...

  5. Git更改文件名大小写,提交失败问题解决

    背景:某java文件大小写写错了,一直提交不上去 例如我只是将updatePrivacySettingsTest.java变更为UpdatePrivacySettingsTest.java,但是add ...

  6. git上传(本地和远程有冲突时)

    一. 冲突的产生:在上次git同步(上传)之后,本地和远程均有更改 二. 处理 1. 丢弃本地,采用远程: git checkout 冲突文件及其路径 如: git checkout bzrobot_ ...

  7. 从git上pull下的代码,执行时提示:ModuleNotFoundError: No module named '......',解决方法如下:

    方法一: 如果没有安装,如下: 1.PyCharm : file-> setting->Project interpreter–>package2.右侧有个+ 点击3.进入后 搜索p ...

  8. 【Git】工作中99%能用到的git命令

    Git使用笔记 1.第一次使用github ============================================= 1)github注册账号 使用邮箱注册账号 先不要创建版本库 2 ...

  9. git 学习笔记 —— 获取远端分支并修改后提交至远端仓库

    笔者最近进行开发过程中,所有参与者的代码需要通过 git 上传到远端仓库中,不同的模块对应不同的 git 分支,不同模块的数据需要从远端仓库中获取.这里记录下笔者从远端仓库中获取分支数据,进行修改,最 ...

随机推荐

  1. DevExpress winform XtraEditor常用控件

    最近在公司里面开始使用DevExpress winform的第三方控件进行开发和维护,这里整理一些常用控件的资料以便于后续查看 ComboBoxEdit 这个控件和winform自带的控件差不多,使用 ...

  2. 聊聊IO多路复用之select、poll、epoll详解

    本文转载自: http://mp.weixin.qq.com/s?__biz=MzAxODI5ODMwOA==&mid=2666538922&idx=1&sn=e6b436ef ...

  3. u盘禁用

    Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\USBSTOR]" ...

  4. JS检测图片的大小

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> < ...

  5. 编辑sass报错:error style.scss (Line 3: Invalid GBK character &quot;\xE5&quot;)解决办法

    cmd.exe /D /C call C:/Ruby23-x64/bin/scss.bat --no-cache --update header.scss:header.css error heade ...

  6. JavaScript操作符(一元操作符)

    JavaScript操作符包括算术操作符.位操作符.关系操作符和相等操作符.只能操作一个值的操作符叫做一元操作符. 递增和递减操作符 递增和递减操作符有两个版本:前置型和后置型.前置型操作符位于要操作 ...

  7. CSS3左右间歇晃动效果

    今天在做一个活动页面时,产品想要在页面中添加一个吸引人注意的小图片左右晃动的效果,并且该效果是间歇执行的.我一想应该挺简单的吧,二话没说就答应了,谁知在真正实现的时候才发现还是有些许困难的.于是就在网 ...

  8. Oracle 11g 服务启动/关闭 及 DB dump 导入

    本地启动Oracle 服务脚本 由于本地机子安装了Oracle后,会自动启动一些默认的Oracle服务,这样子会导致机子比较慢.所以需要改成手动启动/关闭服务. 即用即开,不用就关. 开启的脚本: O ...

  9. ASP.NET MVC 执行流程介绍

    Routing 组件   Controller   Controller中可用的ActionResult MVC-View(使用的抽象工厂模式的视图引擎) 视图模型

  10. [转]skynet Lua中的协程

    Lua中的协程 http://www.outsky.org/code/lua-coroutine.html Sep 6, 2014 Lua中的协程和其他变量一样,都是第一类值(first-class ...