0

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 策略的。

4

1 回答 1

0

我仍然不知道到底出了什么问题,但我重新创建了 repo,只要我从不在 windows 中触摸(只读使用)它似乎没问题。

于 2015-09-24T21:00:09.853 回答