oeyoews / oeyoews.me

📝 支持多种数据源的 Blog, 使用 Nextjs14 构建
https://blog.oeyoews.top
MIT License
5 stars 0 forks source link

git bug #21

Closed oeyoews closed 10 months ago

oeyoews commented 10 months ago

将markdown.tsx 重新命名为Markdown.tsx, git 居然检测不到, https://www.cnblogs.com/qianguyihao/p/15906060.html

oeyoews commented 10 months ago

或者直接rm --cached xxx.tsx

oeyoews commented 10 months ago

linux 下就没碰到这个情况, git 的默认配置还区分平台吗, 还是git for windows 的问题

oeyoews commented 10 months ago

不知道为什么默认设置core.ignorecase = true

oeyoews commented 10 months ago

在 Git 中,core.ignorecase=true 的设置是用来指定 Git 是否对文件名的大小写敏感。默认情况下,Git 在 Windows 系统上是不区分文件名大小写的,而在 macOS 和 Linux 等系统上是区分文件名大小写的。这意味着如果你在 Windows 上创建了一个名为 README.md 的文件,而在提交时使用了小写的 readme.md,Git 会将它们视为同一个文件。

通过将 core.ignorecase 设置为 true,可以强制 Git 在所有操作中都对文件名进行大小写不敏感的处理,无论是在哪个操作系统上运行 Git。这对于跨平台团队合作或迁移代码库到大小写不敏感的文件系统中是非常有用的。

需要注意的是,一旦设置了 core.ignorecase=true,就不能再更改回 false 或者空字符串,因为 Git 在首次运行时已经对文件名的大小写敏感性进行了初始化。

要设置 core.ignorecase=true,可以使用以下命令:

git config core.ignorecase true

另外,在某些情况下,如果出现文件名大小写冲突,可以使用 git mv 命令来重命名文件,以避免问题。

oeyoews commented 10 months ago

实际上,Git 在所有操作系统中都支持区分大小写的文件系统。然而,对于 Windows 系统,默认情况下是不区分大小写的,这是因为 Windows 文件系统(NTFS)本身是大小写不敏感的。

当你在 Windows 上使用 Git 时,默认情况下会将文件名视为大小写不敏感。这意味着如果你在 Git 中创建了一个文件名为 "file.txt" 的文件,那么尝试创建一个名为 "File.txt" 的文件时,Git 会认为它们是同一个文件。这种行为是由于 Windows 文件系统的限制所导致的。

然而,在 Git 中,你可以通过配置选项来启用对文件名大小写的敏感性。可以通过设置 core.ignorecase 配置项为 false 来告诉 Git 在 Windows 上对文件名区分大小写。可以使用以下命令进行设置:

git config core.ignorecase false

这样一来,Git 将在 Windows 上对文件名大小写敏感,就像在其他操作系统上一样。

需要注意的是,修改 Git 的文件名大小写敏感性配置可能会导致一些问题,特别是在已经存在不同大小写的文件名的情况下。因此,在对 Git 的配置进行更改之前,请确保你了解并理解可能的影响。