veracrypt 是否在内存中进行任何类型的文件缓存,这可能会阻止对我的 git 配置文件的更改被识别?
长版:我在与 Windows 共享的 veracrypt 分区上有一个 repo。在我的仓库中尝试强制执行 EOL 时,我看到文件或多或少任意设置 EOL。当对我的 .gitattributes 文件进行微不足道的更改时,我会将此更改合并到一个分支上,突然我的新分支中充满了仅 EOL 更改的文件。
我主要使用 SmartGit 或 cmd-line (git v 1.8.3.1) 在 linux 上工作。我已经尝试在我的全局和 repo 配置文件中删除 autocrlf 和 safecrlf 或设置为 false,以防它们混淆。我试过删除我的 .gitattributes 文件,或设置
* binary
为了防止任何转换。
我已经重置了几十次,并删除了我的本地仓库并重新克隆。但我无法摆脱这些修改过的文件
git rm --cached -r .
git reset --hard
下面是我的 .gitattributes
# Auto detect text files and perform LF normalization
* text=auto
# Specify LF file endings for coding files
*.txt text eol=lf
*.c text eol=lf
*.cpp text eol=lf
*.h text eol=lf
*.py text eol=lf
*.kl text eol=lf
*.json text eol=lf
# Specify windows-only CRLF endings
*.bat text eol=crlf
*.vcproj text eol=crlf
*.sln text eol=crlf
# Specify binary files - do not modify these files, dammit!
*.so binary
*.dll binary
*.lib binary
*.pdb binary
*.exp binary
*.exe binary
我的主要问题是一些(不是全部).so 符号链接在一个特定的分支中显示为已修改 - 寻找整个世界,就像它们已被转换一样。这一直发生在我最新的分支中,但不是早期的分支。在当前一连串的疯狂中,我的最后一次合并添加了 *.cpp 标记,它立即将我的一些(不是全部)*.py 文件转换为 Windows 行结尾。
有没有人经历过这种不可靠的情况?这个版本的 git 是否支持 .gitattributes 文件?veracrypt 或 NTFS 分区是否让我感到困惑?
一个星期以来,我一直在研究应该是一项微不足道的任务,并且根本无法理解 git 是如何决定其 EOL 策略的。