为什么GitHub要求文件的末尾必须有换行符?

这几天逛reddit的时候发现了一个很有意思的讨论,有个童鞋说他在GitHub上提交代码的时候发现了提交文件被提示有一个红色警告的提示,鼠标移动上去会告诉你“No newline at end of file”(也就是文件末尾没有换行)。因此,他很奇怪,他不懂为什么GitHub要求文件的末尾必须有换行符。这个问题引起了很多的讨论。这里我也顺便记录共享一下。

小木 714 Linux/Unix/Windows/换行符/编程