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

一、 提交时

假设修改ABC.java为Abc.java。

1.1 如果使用git命令进行仅涉及大小写的重命名

1.1.1 设置git库为大小写敏感(不建议)

$ git config core.ignorecase false

用这种方法进行重命名,用git status就可以识别出修改了,但是不推荐用这种方式,因为在更新这种修改的时候会有麻烦。

1.1.2 使用git mv命令(仅当core.ignorecase为true时可用)

$ git mv ABC.java Abc.java

$ git status

......

            renamed: ABC.java -> Abc.java

此时的状态是renamed,git commit即可。

1.2 如果使用Eclipse进行仅涉及大小写的重命名

无论core.ignorecase设置为true还是false或者没有设置该项,修改之后均可正常提交,在进行Commit的时候,对话框中显示的修改文件列表有:

即删除ABC.java并增加Abc.java,直接commit然后push即可。

偶尔会出现在Eclipse端修改完之后右键commit为灰色的情况,这时候如果使用git status发现有renamed状态的修改的话,也可以直接在git bash上commit并push。

二、 更新时

可能更多的问题出现在更新时。

2.1 如果使用git命令更新内容

core.ignorecase不为true时会出现如下错误:

......

error: The following untracked working tree files would be overwritten by merge:

        Abc.java

.......

或者在切换分支等操作的时候莫名出现这样的错误,解决方法都是将core.ignorecase设置为true,然后再进行操作。

2.2 如果使用Eclipse更新内容

测试发现无论core.ignorecase如何设置均木有问题。

三、总之

在涉及到只修改文件名大小写的提交和更新时,

3.1 全部使用Eclipse来进行是最稳妥的;

3.2 如果喜欢使用git命令,将core.ignorecase设置为true即可:

git config core.ignorecase true

 

时间: 2024-10-13 00:47:36

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

git 上传本地文件到github

1 git config --global user.name "Your Real Name" 2 git config --global user.email [email protected] git init git add . git commit -m 'Test' git remote add origin [email protected]:XXX/XXX.git 3 git push -u origin master 一些可能遇到的问题解决: 如果输入$ git re

文件上传工具类(重命名,以及判断类型)

public class FileUploadUtil {     public static final List<String> ALLOW_TYPES = Arrays.asList(             "image/jpg","image/jpeg","image/png","image/gif"     ); //文件重命名     public static String rename(Strin

利用php实现文件迁移重命名

首先表明,这是一个悲伤的故事. 暑假来临,学校安排我们到某软件外包公司实习,想想不用面试也是蛮方便的,可以借此机会向大牛学习学习,虽然没有工资(据说学校还交了600块的保险),但想想还是蛮期待的,但真正到公司就懵逼了~技术人员都不在好不好!职位都安排好了,什么人力资源,经营管理,还有财务管理之类,做培训的,但没有一个写代码的啊! 我被分到了经营管理部门,每天接触的是各种合同审批,合同扫描,合同盖章,合同...  总之围着合同团团转,打杂远远多于学习.想想如果没有我们那些公司的人也要处理如此重复无

Linux查找多个类似但是不同名的文件并且重命名

这个题目据说是百度一面的面试题,Linux题:查找以core.1,core.2....形式命名的文件,然后将这些文件名改成bak.core.1,bak.core.2,...... 首先应该找到这些文件,使用 find . -name "core.[0-9]" -print   ,可以找到: find的使用方法: 1.命令格式: find pathname -options [-print -exec -ok ...] 2.命令功能: 用于在文件树种查找文件,并作出相应的处理 3.命令参

iOS 创建文件夹,删除文件夹,对文件夹重命名的操作

iOS 创建文件夹,删除文件夹,对文件夹重命名的操作 by 伍雪颖 + (void)createFolder:(NSString *)folderName { NSString *imageDir = [NSString stringWithFormat:@"%@/Documents/%@", NSHomeDirectory(),folderName]; NSLog(@"HomeDir: %@",imageDir); BOOL isDir = NO; NSFileM

使用ant剪切、重命名、修改文件访问时间

下面提供几个命令,用来剪切文件.重命名文件.创建或修改文件访问时间,如下: <?xml version="1.0" encoding="UTF-8"?> <project name ="test" default="all" basedir="."> <target name ="all"> <!-- 剪切文件(含过滤条件)--> <

C#实现文件批量重命名源码下载

本文要实现的功能是 文件批量重命名,当选择一个文件夹时,通过操作可以把文件夹下面所有文件进行重命名.建立了HoverTreeBatch项目. 然后 定义文件夹信息: DirectoryInfo _TheFolder; //这里是选择文件夹并实例化_TheFolder FileInfo[] _files=null; _files = _TheFolder.GetFiles(); 这样就得到了文件夹下所有文件信息. //加后缀 foreach (FileInfo fi in _files) { Ho

php文件夹下文件批量重命名

php文件夹下文件批量重命名 <?php header("Content-type:text/html;charset=utf-8"); $dir = __DIR__.'./color/'; $file_arr = scandir($dir); unset($file_arr[0]); unset($file_arr[1]); $file_arr = array_values($file_arr); $n = count($file_arr); for ($i = 0; $i &

WordPress实现上传文件自动重命名

打开"wp-admin/includes/file.php"文件的第365行代码,原文是这样的: 可以看出,文件并没有自动重命名,因此我们只需要把圈起来的哪一行进行修改即可实现上传文件时自动重命名的效果,具体修改成下面这种形式: $new_file = $uploads['path'] . "/".date("YmdHis").floor(microtime()*1000).".".$ext; 这段代码的意思是以当前时间的字符