haiju's 開発メモ

開発に必要な情報を自分用にメモ

git addしてみたら、warning: CRLF will be replaced by LF in 'xxxx'

Linuxで開発しててWindows10でgitにpushしようとしたらタイトル

通りのメッセージが出た。

たしか、諸事情により最初は.gitconfigでcore.autoCRLF = falseだった

けど途中から、autoCRLF = input に再定義したからかなと思ったら、

そうだった。

基本、gitには改行コードLFで登録されたほうがいいと思うので

自動変換してくれるのは別に構わないんだけど...

すでに、内部的にはLinuxで開発している人とWindows10で開発してる

人がいて(と言っても2人だけw)ファイルによりCRLFとLFが混在して

しまっているので、どうしようかというところ。

CRLFがLFに変換されるなら、inputのままでいい気がするし。

でも、inputにしているとgit pullした時に問題があったような

なかったような...(Φω|

[対応]

1. false

Windows のみのプロジェクトで作業をしているのなら、この機能を無効にしてキャリッジリターンをそのままリポジトリに記録してもよい。ただ、その場合は、false を設定する。

2. true

LinuxMac などの行末に LF を使うシステムで作業をしている場合は、Git にチェックアウト時の自動変換をされてしまうと困るが、行末が CRLF なファイルが紛れ込んでしまった場合には Git に自動修正してもらいたい。コミット時の CRLF から LF への変換はさせたのだけれどもそれ以外の自動変換が不要な場合は、core.autocrlf を input に設定する。

3. input

Windows にチェックアウトしたときの CRLF への変換を行うが、MacLinux へのチェックアウト時は LF のままとする。またリポジトリにコミットする際には LF への変換を行う。

調べたところ、trueに設定していなければ混在開発環境で想定外の改行コード

の不具合を避けるには、core.autoCRLF = input のままでいいっぽいので

変更なしとする(ΦωΦ)b

[参考サイト]

lexsheehan.blogspot.com

qiita.com

adan.jp.net

programming-jissen.com

qiita.com

yu8mada.com

stackoverflow.com

maku77.github.io

site-builder.wiki

www.shigemk2.com