(2018.12.29 更新,增长Git处理方式)html
在计算机的技术中,全部文本信息都会涉及换行的问题。例如,你在键盘上敲击一次Enter(回车)键,系统将在文本重增长一行,实际上系统已经在文件中插入了一个不可见的换行标记。服务器
换行,在许多地方也称为行尾(line ending),或者EOL(end of line)。换行是一个特殊的字符,在文本中用于表示一行文字信息的结束,或者新一行文字信息的开始。因为在不一样的平台或操做系统中,系统处理换行的方式不同,若是开发人员忽略换行问题,会致使源代码编译或者运行过程当中出现异常的问题。工具
下面咱们结合TFS系统的源代码管理功能,具体分析在代码管理过程当中,如何处理文件换行的问题。post
最先在电传打印机上,工程师使用CR(Unicode字符为000D)和LF(Unicode字符为000A)标记打印换行。CR是单词Cartridge Return的缩写,咱们常常称为回车;LF是单词Line Feed的简称,咱们常常称为换行。这两个字符分别用来指挥打印机的针头移到下一行,同时将打印纸张先前推动一行。后来因为计算机技术的飞速发展,计算机与打印机高度集成,打印换行的概论也被计算机普遍引用。可是,不一样的操做系统,对于换行的处理方式不同。spa
微软基本原样照搬了早期打印机的机制,使用两个字符CR+LF来标记文件的换行。Windows,MS-DOS,PC-DOS等采用了CRLF的换行方式。操作系统
Unix操做系统以为微软比较浪费,在本身的系统中,一个字符LF就能够达到目的,因而Linux上面就使用LF来标记换行。基于Linux的其余操做系统,基本都采用了LF的换行方式。code
苹果的计算机的科学家因为更为复杂的缘由,定义CR做为换行标记。htm
在TFVC代码库中,不管从使用哪一种客户端签入签出,TFS服务器都会原样保留文件的换行模式。blog
你能够在文本编辑工具中验证从TFS中下载的文件,以下图,我使用EditPlush验证一个sh脚本程序的换行格式:开发
Figure 1 - 在EditPlush中查询文件的换行格式