ソースに絡まるエスカルゴ

貧弱プログラマの外部記憶装置です。

【git】勝手に改行コードが変更される場合の対処

 Windowsにgitを入れちょうどシェルスクリプトを書いている時に「いつの間にか改行コードが変わっている」ことに気が付きました。

 今回はその改行コードの自動変更の設定を解除したりする方法の備忘録になります。詳しい説明は参考資料に挙げているページ様が詳しいのでそちらを参照してください。


 では、始めます。


1:gitでの改行の設定
 gitの公式サイトからインストーラをダウンロードし、それをWindowsでインストールした場合、特に何も設定を変更していない場合は以下のような設定になっているはずです。

チェックアウト時 コミット時
LF → CRLF CRLF → LF

 またGitのインストール後に以下のコマンドを実行した中の「core.autocrlf」の項目から今の設定を確認することができます。

$ git config -l


2:gitでの改行設定の変更
 gitの改行設定を変更する場合は以下のコマンドを実行します。

$ git config --[スコープ] core.autocrlf [設定値]

 設定値のところはtrue/input/falseのいずれかを設定します。それぞれどのようになるかは以下の表の通りになります。

設定値 チェックアウト時 コミット時
true LF → CRLF CRLF → LF
input 変更しない CRLF → LF
false 変更しない 変更しない

 自分の場合は改行コードが変換されると嫌なので、現在ユーザ共通としてfalseを設定するために以下のコマンドを実行しました。

$ git config --global core.autocrlf false

 確認ちゃんとglobalに設定されているかを確認するために以下のコマンドを実行します。

$ git config -l --global

 この結果に「core.autocrlf=false」が含まれていれば設定完了です。


 以上がgitで勝手に改行コードが変更される場合の対処方法になります。

 シェルの場合、改行コードが変更されると動かなくなるので気づかないうちにそういう変換なされていてかなり混乱しました。

 改行コードが自動的に変換される方が楽な場合もありますが、デフォルトでは改行コードは変換されないようにしてほしかったですね…。


・参考資料