乐闻世界logo
搜索文章和话题

Git 如何区分提交文件名的大小写的更改?

8 个月前提问
4 个月前修改
浏览次数71

5个答案

1
2
3
4
5

Git 有一个配置设置,告诉它是否需要区分大小写或不敏感的文件系统:core.ignorecase。要告诉 Git 区分大小写,只需将此设置设置为 false

shell
git config core.ignorecase false

请注意,在不区分大小写的文件系统上将此选项设置为 false 通常不是一个好主意。这样做会导致奇怪的错误。例如,以仅更改字母大小写的方式重命名文件将导致 git 报告虚假冲突或创建重复文件

文档

git config文档中:

core.ignorecase

如果为 true,此选项将启用各种解决方法,使 git 能够在不区分大小写的文件系统(例如 FAT)上更好地工作。例如,如果目录列表 makefile在 git 期望时找到 Makefile,git 将假定它实际上是同一个文件,并继续将其记住为 Makefile.

默认值为 false,但git-clone(1)git-init(1)core.ignorecase将在创建存储库时进行探测并设置true(如果适用)。

2024年6月29日 12:07 回复

只要您只是重命名一个文件_,而不是一个文件夹_,您就可以使用git mv

shell
git mv -f yOuRfIlEnAmE yourfilename
2024年6月29日 12:07 回复

修复整个存储库上的 git 文件名大小写:

.仅替换部分存储库的(子)文件夹名称)

shell
git rm -r --cached . git add --all . git status ##Review that **only** changes staged are renames ## Commit your changes after reviewing: git commit -a -m "Fixing file name casing" git push origin main
2024年6月29日 12:07 回复

使用 SourceTree,我可以从 UI 完成这一切

  1. 重命名 FILE.extwhatever.ext
  2. 暂存该文件
  3. 现在重命名 whatever.extfile.ext
  4. 再次暂存该文件

这有点乏味,但是如果您只需要对几个文件执行此操作,那么速度很快

2024年6月29日 12:07 回复

这是我在 OS X 上所做的:

shell
git mv File file.tmp git mv file.tmp file

两个步骤,否则我会收到“文件存在”错误。--cached也许可以通过添加等一步完成。

2024年6月29日 12:07 回复

你的答案