MacOS、Linux 和 Windows 下使用不同的生成工具可能会有不同的文件格式:LF或者CRLF等,导致每次 github 在同步的时候,都会出现其实内容没更新,但是文件却更新了的伪更新情况

#新的文件

对于之后的文件,可以参考 Configuring Git to handle line endings,通过配置git来实现自动兼容,就不用我们自己考虑了。

1
2
3
$ git config --global core.autocrlf true
# Configure Git to ensure line endings in files you checkout are correct for Windows.
# For compatibility, line endings are converted to Unix style when you commit files.

#旧的文件

可以通过unix2dos工具来批量进行转换,官网:Dos2Unix / Unix2Dos - Text file format converters,下载地址:dos2unix

下载解压之后的 bin 文件夹里有我们需要的可执行文件,我的是D:\Download\dos2unix-7.4.1-win64\bin\unix2dos.exe

  1. 打开命令行win+R,输入cmd,回车。
  2. cd定位到所需要的批量处理的根目录。
  3. 输入下列命令:
    1
    2
    for /R %G in (*.md *.html) do D:\Download\dos2unix-7.4.1-win64\bin\unix2dos.exe "%G"
    # *.md 代表以所有md结尾的文件
  4. 完成。

#参考文档