😸
【GitHub】改行コードの自動変換設定
Windows系とUNIX系とMac (OS 9以前)は改行コードが異なるため、それぞれに合った改行コードを使う必要がある。
gitでaddをしたところ警告。
$ git add .
warning: in the working copy of 'src/main/java/com/example/demo/controller/UserDetailController.java', LF will be replaced by CRLF the next time Git touches it
当該ファイルはLFだったので次触る時はCRLFに変換するよということ。
自動変換するかの設定は下記コマンドにより設定。
git config --global core.autocrlf false
変換の設定は3種類。
設定 | チェックアウト | コミット |
---|---|---|
true | LF > CRLF | CRLF > LF |
false | 変換しない | 変換しない |
input | 変換しない | CRLF > LF |
Git for Windowsではインストール時の初期設定で項目があるようだがデフォルトはtrueになっているようだ。
Windowsはtrueが自動変換で便利そうだが調べたところtrueでも問題がでてくる場合があるようなので、今回はinputに設定。
また、オプションの--globalについても触れておく。
こちらも3種類あり、設定範囲を示す。
設定 | スコープ | 設定ファイル(Windows) | 優先度 |
---|---|---|---|
system | 全ユーザー | C:\Program Files\Git\etc\gitconfig ※人によって変わるようですが私はここでした。 |
3 |
global | ログインユーザー | C:\Users/username.gitconfig | 2 |
local | 各リポジトリ | .git\config | 1 |
基本的にはglobalを設定しておけばよさそうです。いろいろユーザーを使い分けるならsystem、特定のリポジトリだけ変えたい場合はlocalを設定という使い方でしょうか。
これらの設定の確認コマンド
git config <option> -l
optionに--systemなどスコープをいれてあげると各スコープの設定だけがでてくるので見やすいですね。
Discussion