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

     

  • 相关阅读:
    POJ 1775 (ZOJ 2358) Sum of Factorials
    POJ 1844 Sum
    HDOJ 1081(ZOJ 1074) To The Max(动态规划)
    HDOJ 2012 素数判定
    HDOJ 2011 多项式求和
    HDOJ 2010 水仙花数
    马云最新发言:让员工、客户、合作伙伴比自己更强
    乐视手机1S正式发售,乐视商城官网抽风遭网友吐槽
    C++引用(Reference)
    实验三 二叉树的基本操作(建立)及遍历
  • 原文地址:https://www.cnblogs.com/wangzehuaw/p/6812227.html
Copyright © 2011-2022 走看看