代码之家  ›  专栏  ›  技术社区  ›  Ace

将文件夹从小写重命名为大写[重复]

git
  •  0
  • Ace  · 技术社区  · 5 年前

    sourceCode.java 变成 SourceCode.java ,例如。关键是:我在一个Windows系统中,文件系统认为这些文件名是相同的。

    0 回复  |  直到 10 年前
        1
  •  321
  •   Community CDub    7 年前

    请查看此处以获取有关如何执行此操作的更多提示:

    How to make git ignore changes in case?

    git mv -f name.java Name.java
    
        2
  •  48
  •   ChrisF    12 年前

    如果您使用的是胖文件系统,您唯一的选择是执行两步重命名:

    1. 重命名 sourceCode.java anything.you.like
    2. 任何事。你喜欢 SourceCode.java

    在我们使用Perforce的时候,我们确实遇到了这个问题,这是我们唯一能想到的解决方案。

        3
  •  29
  •   Pieter van Ginkel    12 年前

    以下步骤允许我在Windows上更改案例:

    • 添加 ignorecase = false [core] .git/config ;
    • 将删除添加到索引中;
    • 将所有文件移回其原始位置并更改文件和/或目录的大小写;
    • 将所有“新”文件添加到索引中;
    • 删除 ignorecase=错误

    这样,您就有了一个包含重命名的提交,并且可以很容易地更改整个目录。

        4
  •  6
  •   Community CDub    7 年前

    小心。这样做可能导致无法合并的更改。在Windows上进行合并时,Git会感到困惑,因为它无法决定旧的大写名称和新的小写名称是否是同一个文件(对于Git,它们不是相同的文件系统,而是相同的文件系统)。要合并,您必须执行一些手动解决方案,如在合并前删除文件。

    Git rebase issue with files of same name but different case

    我不确定这个问题是否比在您的项目中永远存在一个非常规命名的文件更糟糕,但值得知道的是,是否有许多用户具有许多分支,这些分支最终都需要合并。

        5
  •  1
  •   James Skemp    7 年前

    git mv 命令不能解决问题。 这个问题展示了一种有效的技术: git mv and only change case of directory