我在linux机器上有一个简单的git存储库,我正在从Windows机器上推送它并在linux机器上使用post-receive hook来检查它到本地文件夹。
在Windows机器上,我有core.autocrlf=true
,在linux机器上core.autocrlf=input
。我还有一个.gitattributes文件,其中包含以下内容:
* text=auto
*.csv text
在linux机器上,我正在使用linux机器生成的非存储库文件来区分存储库中的csv文件(由Windows机器生成):
diff -iw -U0 repofile.csv localfile.csv > out.txt
例如,当我在vi中单独打开repofile.csv和localfile.csv时,两个文件都没有CR字符,这就是我想要的。但是,当我打开out.txt时,看到每行末尾都有CR字符,涉及repofile.csv中的一行。
是什么给出的?当输入文件中没有CR字符时,为什么CR字符会出现在diff的输出中,我完全不知道。
答案 0 :(得分:0)
确保两台服务器上的 core.autocrlf
is false
:您不希望Git自动修改任何文件,除非您明确指示Git(通过 core.eol .gitattributes
directives < /强>)。
由于core.autocrlf
会覆盖core.eol
,这可以解释您一直看到的CR。