Linux Git/Veracrypt EOL hell-无法丢弃已修改的文件

Linux Git/Veracrypt EOL hell-无法丢弃已修改的文件,linux,git,gitattributes,truecrypt,Linux,Git,Gitattributes,Truecrypt,veracrypt是否在内存中进行任何类型的文件缓存,以防止识别对git配置文件的更改 长版本:我在与Windows共享的veracrypt分区上有一个repo。在尝试在我的回购协议中强制执行EOL时,我看到文件或多或少任意设置EOL。当对.gittributes文件进行一个小的更改时,我会将此更改合并到一个分支上,突然我的新分支中充满了仅包含EOL更改的文件 我主要使用SmartGit或cmd行(GitV1.8.3.1)在linux上工作。我已尝试删除全局和repo配置文件中的autocrlf

veracrypt是否在内存中进行任何类型的文件缓存,以防止识别对git配置文件的更改

长版本:我在与Windows共享的veracrypt分区上有一个repo。在尝试在我的回购协议中强制执行EOL时,我看到文件或多或少任意设置EOL。当对.gittributes文件进行一个小的更改时,我会将此更改合并到一个分支上,突然我的新分支中充满了仅包含EOL更改的文件

我主要使用SmartGit或cmd行(GitV1.8.3.1)在linux上工作。我已尝试删除全局和repo配置文件中的autocrlf和safecrlf,或将其设置为false,以防混淆。我已尝试删除.gittributes文件或设置

* binary
以防止任何转换

我已经重置了几十次,删除了我的本地回购协议并重新克隆。但我无法摆脱这些修改过的文件

git rm --cached -r .
git reset --hard
下面是我的.git属性

# 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
我的主要问题是有些(不是全部)。所以符号链接在一个特定的分支中显示为修改过的-查找所有的世界,就像它们已经被转换一样。这种情况经常发生在我最近的分支中,而不是更早的分支中。在当前的疯狂浪潮中,我的上一次合并添加了*.cpp标记,它迅速地将我的一些(不是全部)文件转换为windows行结尾

有人经历过这种不可靠吗?此版本的git是否支持.gittributes文件?veracrypt或NTFS分区是否让我感到困惑


一个星期以来,我一直在做一件应该是琐碎的工作,根本无法理解git是如何决定其EOL策略的。

我仍然不知道到底出了什么问题,但我重新创建了回购协议,只要我在windows中从不触摸(只读使用)它,它看起来就可以了

所以,我后来发现一堆文件设置了可执行标志(不正确)。这可能是他们如此困难的部分原因。