linux - 在 Windows 机器上 checkout 时,保留某些文件的 unix 行结尾 (LF)

标签 linux windows git

我在 windows/linux 环境中工作。通常情况下,Windows 中的文件是否以 CRLF 行结尾 check out ,而在 Linux 上以 LF 行结尾 check out 并不重要。但是现在我有一个项目,其中特定目录中的某些文件需要保持其 unix LF 结束,即使在 Windows 上也是如此。

例如

project/dir-a/file1
project/dir-a/file2
project/dir-b/file3
project/dir-b/file4

dir-a 中的所有文件可以是 CRLF/或 LF(取决于您是在 linux 还是 windows 上 check out 它们)但是对于“dir-b”,所有文件必须保持 unix LF 开启两个平台(Windows 和 Linux)。

我怎样才能做到这一点? git 中是否有我可以为目录设置的设置?

最佳答案

.gitattributes 文件添加到项目的根目录,并将以下行添加到文件中。

dir-b/* eol=lf

上面的行声明 dir-b 中的所有文件在 checkout 时将有 LF 行结尾。如果你想要特定的文件或扩展名,你可以使用类似的东西:

foo eol=lf
*.c eol=lf

关于linux - 在 Windows 机器上 checkout 时,保留某些文件的 unix 行结尾 (LF),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53179741/

相关文章:

linux - 符号链接(symbolic link)背后有什么?

windows - Powershell脚本适用于服务器,但不适用于cloudformation cfn-init函数

git - checkout 后的意外变化

linux - 从jsp表单在centos 5中创建一个用户

c - 共享内存地址

linux - ffmpeg 硬件解码/编码转码

git - 升级后 Ubuntu 无法找到 Git 存储库

java - 像后台进程命令行一样从 Wildfly 运行standalone.bat?

C++ CreateThread() LPSTR 参数错误 Windows 7 (64)

javascript - 跨存储库共享 react native 组件