Git CRLF 和 LF 行结束于 windows/linux
Git CRLF and LF line ending on windows/linux
我正在开发一个同时使用 CRLF 和 LF 行结尾的项目。我正在研究 windows。
- 我创建了一个补丁,将文件从使用 CRLF 行结尾转换为 LF 行结尾。
- 然后我用
git format-patch
格式化了补丁。当我打开这个补丁时,它有正确的 LF 行结尾。补丁说文件相似度为 97%(仅更改了行尾)。
- 我使用
git send-email
将其发送给某人。当我观察用wireshark发送的邮件时,所有的行尾都被转换为CRLF。
- 当其他人收到此补丁时(也在 windows 上工作),补丁中的所有行结尾都是 CRLF。
- 可以应用补丁,但应该修改行尾的文件保持不变:没有LF 行尾转换。当使用
git show HEAD
时,文件被认为是 100% 相似,即使正在应用的补丁说应该有 97% 的相似性。
如何发送 LD 行结束于 windows 的补丁?
谢谢
不要忘记为该文件添加 .gitattributes
规则,以便 force lf for that file
a_file text=auto eol=lf
但是关于您的发送电子邮件问题,请参阅“git am/format-patch
: control format of line endings", try and use git send-email --transfer-encoding=base64
,以确保所有内容都得到保留(包括 eol)
我正在开发一个同时使用 CRLF 和 LF 行结尾的项目。我正在研究 windows。
- 我创建了一个补丁,将文件从使用 CRLF 行结尾转换为 LF 行结尾。
- 然后我用
git format-patch
格式化了补丁。当我打开这个补丁时,它有正确的 LF 行结尾。补丁说文件相似度为 97%(仅更改了行尾)。 - 我使用
git send-email
将其发送给某人。当我观察用wireshark发送的邮件时,所有的行尾都被转换为CRLF。 - 当其他人收到此补丁时(也在 windows 上工作),补丁中的所有行结尾都是 CRLF。
- 可以应用补丁,但应该修改行尾的文件保持不变:没有LF 行尾转换。当使用
git show HEAD
时,文件被认为是 100% 相似,即使正在应用的补丁说应该有 97% 的相似性。
如何发送 LD 行结束于 windows 的补丁? 谢谢
不要忘记为该文件添加 .gitattributes
规则,以便 force lf for that file
a_file text=auto eol=lf
但是关于您的发送电子邮件问题,请参阅“git am/format-patch
: control format of line endings", try and use git send-email --transfer-encoding=base64
,以确保所有内容都得到保留(包括 eol)