我正在尝试使用 Eclipse 重命名文件的示例项目。首先,我做了一个提交并推送到 GitHub。该文件是Samplemain.java
. 如果我将该文件重命名为SampleMain.java
并且尝试使用 TortoiseGit 提交重命名的文件,我将无法提交。相反,它通过一个小对话框显示错误。
请让我知道在 Git 中重命名文件时区分大小写的解决方案。我使用的是 Windows,错误对话框如下所示。
我正在尝试使用 Eclipse 重命名文件的示例项目。首先,我做了一个提交并推送到 GitHub。该文件是Samplemain.java
. 如果我将该文件重命名为SampleMain.java
并且尝试使用 TortoiseGit 提交重命名的文件,我将无法提交。相反,它通过一个小对话框显示错误。
请让我知道在 Git 中重命名文件时区分大小写的解决方案。我使用的是 Windows,错误对话框如下所示。
这是 TortoiseGit 的问题,而不是 Git 本身的问题。如果您使用命令行提交它将起作用,我现在检查了它。请注意,重命名仍然需要 2 个git mv
命令,但只有一个git commit
,因为它应该。
另一种选择是在 GitHub 上重命名文件:在 GitHub 上编辑文件时,请注意顶部的文件名,您可以更改名称。之后,您可以从中拉出。
在 Windows 命令行(MINGW 控制台)中运行以下命令。它应该解决案例检测问题。
git config core.ignorecase false
两阶段重命名...将其命名为“z.tmp”,然后改回您真正想要的名称。
我知道使用 Subversion 我必须在两步重命名之间提交,但使用 Mercurial 我不需要。
不确定 Git 是否需要它。
显然有一个实用程序:https ://github.com/tawman/git-unite
由于作者没有提供最终的exe文件,我自己还没有尝试过,并且在尝试运行构建脚本时遇到了问题。但它似乎是一个更容易解决这个问题的实用程序。
它搜索 repo 和文件夹之间的名称大小写不匹配,并更新 repo 以匹配文件夹,然后让您只提交文件的一个版本。因此,只需将 Windows 资源管理器中的名称更改为您想要的名称,然后运行该实用程序,我相信。(可能后面跟着一个提交——不确定)