Git
改行コード

gitの改行コード自動変換でハマッた話

More than 3 years have passed since last update.

わたくし、

gitの改行コード自動変換(Windows環境ならCRLFにする)というのが嫌いで

リポジトリにコミットされてる改行コードのままクローンされるよう下記設定をいれてます。


core.autocrlf=false(改行コード変換しない)


ある日、

とあるリポジトリをクローンしたところ

改行コードがCRLFになってる。。

てっきりCRLFでコミットされてしまってるんだなと思ったのですが、

実は下記ファイルが原因でした。


.gitattributes

* text=auto



これはGitがテキストであると考えているすべてのファイルがリポジトリに>(LF)改行コードを正規化していることが保証されます。

 引用(翻訳版):http://git-scm.com/docs/gitattributes


ということで、リポジトリ上は全てLFで問題なかったのです。

が、このファイルがコミットされていると、

core.autocrlfの設定を無視してCRLFに変換してくれるようです。

ややこしや。

時代ですかね。