ゆずめも

私による私のためのメモ的なブログです。主に勉強した事について書いてます。

gitで変更履歴を管理できない

gitで学校の課題を作ってたんですが
送られてきたプルリクが全然変更点管理できてないという状況に出会いました

問題

普通なら
f:id:yuzu441:20150110213339p:plain
こんな風に変更点が表示されますが


管理できないファイルを用意しました
f:id:yuzu441:20150110212538p:plain


3行目のhogeをtestに変更して、SourceTreeで見てみましょう

f:id:yuzu441:20150110215910p:plain

なんでやねん…(-_-;)

原因

原因がわからず
ふとターミナルを開いて、git diffを見たら

f:id:yuzu441:20150110214548p:plain


(・・????


(゜∀゜!!


もしかして改行コードか!?

解決

はい改行コードでした

管理できないファイルの左上に改行コードが書いてますが
改行コードCR(carriage return)だとgitさんは改行だと認識してくれないようです
ファイルの改行コードをLF(line feed)に変更したら、ちゃんと認識してくれました

ちなみに

ちなみにCRは古いMacOSで使われてた改行コードで
LFUNIXや、Unix系で使われてる改行コードですが
改行コード - Wikipedia

Windowsで使われている
CR+LFだとどうなるのか

こうなりました
f:id:yuzu441:20150110220813p:plain

改行はLFがあるので、できてますが
diffで^Mってノイズが出てくるので気持ち悪いですね…w