git整个文件被修改的原因

最近在用微信开发者工具的时候,使用内置的Git工具进行版本管理。但问题是,某个文件只要有一处小修改,就是整个文件被牵出的状态,对比差异的时候很麻烦。

搜寻了原因之后发现,原来是换行符导致的问题。不同操作系统使用的换行符是不一样的。Unix/Linux使用的是LF,Mac后期也改成了LF,只有Windows坚持使用CRLF。而git入库的代码使用的是LF格式,它考虑到跨平台协作的问题,提供了换行符自动转换的功能。如果在Windows下使用git,拉取文件时,会自动将LF换行符替换为CRLF换行符;而在提交文件时,又会将CRLF换行符转换回LF换行符。所以就会导致git整个文件被修改的问题出现。

下面是解决方法

一、禁用git的自动转换功能

使用命令行全局修改git配置

1
2
3
git config --global core.autocrlf false
git config --global core.filemode false
git config --global core.safecrlf true

二、开发环境配置,忽略Windows换行符

可以在微信开发者工具中,设置->编辑设置->忽略Windows风格回车符。

avatar

chilihotpot

You Are The JavaScript In My HTML