如何让git停止更改文件中的换行符?

ccl*_*eve 9 eclipse windows git github egit

我在Windows上使用带有Eclipse/EGit的git/github.某些东西 - 不确定它是git还是EGit - 正在通过使用换行符来修改我的文件.

撇开版本控制本身修改文件的神秘之处,如何配置此软件以便它永远不会改变我的文件?

Ada*_*ruk 9

git config --system core.autocrlf false
git config --system core.whitespace cr-at-eol
Run Code Online (Sandbox Code Playgroud)

不允许它更改任何内容或在结尾报告有问题的CR字节.


Mic*_*ant 6

根据您的操作系统,您有很多选择:

http://help.github.com/line-endings/

那里解释了看似奇怪的行为的原因.基本上代码是共享的(git和github),但操作系统可能不同.由于不同操作系统对待换行的方式不同,因此必须改变...

  • 好吧,这看起来可能是一个可行的解决方案,但它没有解决版本控制系统傲慢地更改代码的问题。对于它的所有缺点,svn 没有这个问题。 (2认同)
  • 此外,不同的操作系统对待换行的方式也没有区别。不同的*应用程序*确实如此。如果您使用任何现代编程语言,Java 等,它们都能很好地处理 CRLF 问题。Git 应该退出。 (2认同)
  • 即"常规"程序,如编辑通过静默进行转换来"处理"操作系统的差异,因为你希望git是*做同样的事情*.除了在这种情况下,git的'目的'是以一种格式维护代码 - 它不能同时是Windows和Unix"所以它是unix,而对于Windows来说,当它被带入winodws系统时转换就会发生通过git.希望有更多的帮助. (2认同)
  • 根据记录,我认为最好的解决方案是让整个社区得出这样的结论:CRLF 不再需要成为一个东西。它没有任何好处,只会让事情变得复杂。请所有 Windows 开发人员开始在代码和编辑器以及全局 git 配置中切换到所有 LR 行结尾,这就是前进的方向。 (2认同)