Git 将行尾从“LF”更改为“CRLF”。这会引起任何问题吗?

Git 将行尾从“LF”更改为“CRLF”。这会引起任何问题吗?

我正在使用 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 个人在 、windowsLinux上使用您的数据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:)

祝你好运

相关内容