Git最开始是为Linux内核开发准备的,用来维护内核代码,后来用的人越来越多,就支持了更多的操作系统,例如Windows系统和MacOS。Mac系统和Linux在使用上其实差异不大,今天我们重点看Windows上和Linux上的差异,这里列出三点:
字符编码是给计算机上的字符映射的规则,例如使用多少个字节,每个字符对应的二进制值是什么。字符集就是在给定的字符编码的基础上可以表示的字符的集合。20世纪60年代美国制定的最早的ASCII编码以及ASCII字符集,后来为了支持欧洲常用字符,又有了ISO-8559-1/2/3。这些字符集以及字符编码只需要1个字节就够了,不需要更多。但是到了亚洲国家的文字(中日韩),1个字节就不够用了,因此就有了Unicode字符集以及UTF编码,这里面用的最多的就是UTF-8编码,一种变长编码格式,对于数据存储和网络传输效率非常高。
中文版的Windows默认使用的GB2312,这是第一个汉字编码国家标准,而Linux和Mac系统默认都是采用UTF-8编码,如果项目成员使用不同系统开发,建议使用统一采用UTF-8编码格式,这样有利于各平台统一显示。关于采用何种字符集以及字符编码,主要取决于使用的编辑器:
set fileencoding=utf-8
settings > files > encoding
"default_encoding": "UTF-8"
至于其它的编辑器,各位可以根据需要自行设置;
在Linux/Mac系统上,可以使用iconv
命令行软件进行各个字符编码的转换:
Windows系统上默认使用回车+换行(CR+LF = 0x0D0A)作为一行的结束符,Unix或者Linux系统默认使用换行(LF=0x0A)作为一行的结束符,Mac OS X之前的系统默认使用回车(CR = 0x0D)作为一行的结束符,现在的Mac系统统一采用和标准Unix一样的LF作为一行的结束符。如果项目组成员使用了三种不同的系统作为开发环境,就会出现差异。Git中已经考虑了这个问题,提供了一个配置项作为这三种平台的转换:
如果你在Windows系统上开发软件,使用第一条命令配置git。其它系统(Mac或者Linux)不用单独配置,默认为false。
CR(回车): Carriage Return; LF(换行): Line Feed
如果项目代码中有shell脚本或者其他需要执行的文件,这些文件需要有执行权限才能保证可以执行,但Windows系统上的权限管理机制和Linux/Mac不同,如果项目组成员在Windows系统上编写脚本代码,如何给脚本增加权限?可以通过这条命令:
【文章不错,鼓励一下】