![Git 将行尾从“LF”更改为“CRLF”。这会引起任何问题吗?](https://linux22.com/image/436441/Git%20%E5%B0%86%E8%A1%8C%E5%B0%BE%E4%BB%8E%E2%80%9CLF%E2%80%9D%E6%9B%B4%E6%94%B9%E4%B8%BA%E2%80%9CCRLF%E2%80%9D%E3%80%82%E8%BF%99%E4%BC%9A%E5%BC%95%E8%B5%B7%E4%BB%BB%E4%BD%95%E9%97%AE%E9%A2%98%E5%90%97%EF%BC%9F.png)
我正在使用 GitHub 管理我的 Latex 项目。当我想要提交我的 .tex 文件时,git 会将行尾从“LF”更改为“CRLF”。
这会引起任何问题吗?
如果这有任何帮助的话,我在 Windows 上使用 MiKTex 和 Texmaker。
答案1
我不知道有什么问题,但是您可以配置git
是否更改行尾使用命令
git config --global core.autocrlf true
您还可以将.tex
、.dtx
、.cls
等声明为文本文件,并声明如何处理它们的行尾.gitattributes
。添加如下行
*.tex text
将告诉git
所有带有tex
扩展名的文件应该将其行尾转换为 LF(在 Linux/UNIX 上)或 CRLF(在 Windows 上)。相反,以下行
*.tex text eol=lf
告诉git
文件.tex
即使在 Windows 上也应该保留其 UNIX 行结尾。
答案2
这会引起任何问题吗?
我不知道有什么问题,
如果您单独使用Git
,应该没问题。但是,一旦您开始克隆,即与他人共享您的存储库,这可能会成为一个问题,因为不同的操作系统对行尾的处理方式不同。想象一下 3 个人在 、windows
和Linux
上使用您的数据iOS
。请参阅 @Davislor 的回复中的配置,这样Git
就可以为您处理这个问题。
您可能还想将文件添加.gitignore
到工作目录中。例如,当您输入:
# files to ignore
*
# files NOT to ignore (exceptions to aboves rule)
!*.tex
git
将忽略所有.aux
, .pdf
,.log
等。你确实需要这样做,因为有一天有人需要合并不同的版本,添加 Git 会发现任何文件。虽然您想对.tex
文件执行此操作,但您不想.pdf
在二进制级别上进行调整,对吗?;-)
时不时提醒自己,这Git
是关于版本控制,而不是关于备份。因此,如果您需要.pdf
来自不同版本的,请在 之外处理它们Git
,例如将它们存储在您通过 排除的目录中.gitignore
:)
祝你好运