TortoiseGit在提交代码时列出了存储库中的所有文件,因为行尾已更改。
存储库中结束的行是LF,在我的本地windows机器上已更改为CRLF。
当我尝试提交我的代码更改时,所有文件都在提交页面中列出,未更改文件的唯一区别是行尾。
如何使TortoiseGit只列出更改的文件而忽略行尾?
谢谢!
没有通用的方法可以忽略EOL更改。
你可以考虑在Git中自动转换CRLF。
推荐的方法是使用.gitattributes
文件;您也可以使用https://stackoverflow.com/a/67356631/3906760但是,不再建议这样做。
例如,如果您在其中放入以下行*.txt text
,则意味着所有*.txt
文件都以LF行结尾存储在存储库中,并且在签出时,这些文件都以CRLF存储在工作树中。这也意味着提交时会自动删除CRLF,因此文件只与LF一起存储在存储库中。
您也可以尝试使用与LF EOL完全兼容的编辑器。
在Windows上,使用Gitcore.autocrlf
配置很方便。如果您将其设置为true
,Git将在签出时自动将LF转换为CRLF,稍后在提交前将CRLF转换为LF。换行符的差异不会在更改的文件中列出。
在TortoiseGit中,您可以使用设置对话框设置此配置(请参阅TortoiseGit Man(。请注意,您可以全局设置它,也可以仅为当前存储库设置它。