在Windows中安装Git的时候,有个步骤会提示我们,是否让Git自动处理换行符。其中提供的选项有:

  • 检出为Windows样式,提交为Unix样式;

  • 检出为原始样式,提交为Unix样式;

  • 不做处理(检出什么样式,就提交什么样式);

先说简单的,在安装界面Git已经提示我们,选择会体现在core.autocrlf配置项(.git/config文件中[core]一节的autocrlf配置项)里。具体来说,这三种方式,分别对true、input、false三种配置值。

再深入讨论一下。

通过以上三项,我们大致可以理解。这应该是利用Git在检出和提交时的Filter机制。

三个不同的配置,具体就反应在检出时是否应用Filter(自动换成Windows样式),提交时是否应用Filter(自动换成Unix样式)。

所以,如果我们还有更多的需求,比如检出为Unix格式、提交为Unix格式(就在上面三种之列),我们就可以手动写filter规则实现了。