zoukankan      html  css  js  c++  java
  • 当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

     

  • 相关阅读:
    HDU 4348 To the moon(可持久化线段树)
    HDU 5875 Function 大连网络赛 线段树
    HDU 5877 2016大连网络赛 Weak Pair(树状数组,线段树,动态开点,启发式合并,可持久化线段树)
    HDU 5876 大连网络赛 Sparse Graph
    HDU 5701 中位数计数 百度之星初赛
    CodeForces 708B Recover the String
    Java实现 蓝桥杯 算法提高 套正方形(暴力)
    ASP.NET生成验证码
    ASP.NET生成验证码
    ASP.NET生成验证码
  • 原文地址:https://www.cnblogs.com/wangzehuaw/p/6812227.html
Copyright © 2011-2022 走看看