远端文件拉取到本地后,会根据本地机器的操作系统、或文件编辑器,修改文件内容的行尾。例如远端代码为适配其代码托管的宿主、存储服务器与编译构建环境,通常采用 LF 作为行尾,符合 Linux 文件系统习惯。而本地为 Windows 的机器则应在获取文件后将行尾从 LF 转换为 CRLF,适配 Windows 文件系统习惯。在本地做完文件修改进行提交,并准备推送回远端,行尾则应从 CRLF 转换回 LF。而本地为 Linux 的机器则无需对行尾做任何转换,始终以 LF 为行尾。
如何使文件的行尾在合适的环境使用合适的格式
避免不合适的格式出现在远端,如以 CRLF 行尾的文件推送至服务器。
避免行尾因本地环境的不同,而无法达成统一,在远端被反复来回修改。
避免行尾的适配转换被识别为常规的变更,影响其他文件内容变更的跟踪。
避免文件行尾格式不正确导致无法在特定系统中被执行,如 *.bat 需要 CRLF 行尾在 Windows 中执行,*.sh 需要 LF 行尾在 Linux 中执行。
这就需要能够自动进行行尾设置的工具来帮忙。恰巧 git / git for windows 内置提供此类设置功能。
2 行尾设置