git忽略文件换行/回车符和权限

git 忽略换行符和权限变化

由于我经常在多平台写代码,Windows/macOS/Linux,每个系统的换行符又不一样,导致git提交的时候会由一大堆的变化,当然这些变化都是没必要的。故在此备忘。

1-什么是换行符

"\r"是回车:使光标到行首(carriage return)

"\n"是换行:使光标下移一格(line feed)

\r 是回车(return)

\n 是换行,(newline)

对于换行这个动作,unix下一般只有一个0x0A表示换行(“\n”),Windows下一般都是0x0D和0x0A两个字符(“\r\n”),macOS则采用回车符CR表示下一行(\r),Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“<回车><换行>”,即“\r\n”;Mac系统里,每行结尾是“<回车>”,即“\r”。

windows采用回车+换行CR/LF表示下一行,即^M$

2-git如何忽略

  • 忽略换行符:

    1
    2
    git config --global core.autocrlf false
    git config --global core.safecrlf true
  • 忽略权限变化:

    1
    git config --global core.filemode false
打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!

请我喝杯咖啡吧~

支付宝
微信