# [GIT] 關於 GIT 的 ^M 的二三事
在多人協同工作中,若是作業系統不同,可能會出現有些人的 git log 中的改變總是在行末多了 ^M
的標誌。但是在編輯器中可能又顯示不出來。
這如幽靈般的符號到底是怎麼回事呢?
其實在不同的 OS 中,文本的文件所使用的換行符號是不同的。Unix Like (例如 MacOS, Linux) 使用的是 0x0A (LF)
。但是在 Windows 使用的是 0x0D0A (CRLF)
。
而 GIT 預設會其實會自動幫你轉換。但是這個轉換功能有時候會失靈。
這時,你就會看到上面那個 幽靈符號
了!
# 解決方法
一、在 GIT log 中隱藏顯示這個符號
我們可以在讓 git 在 gitconfig 中加上這行使得 git 不要秀出 ^M
git config --global core.whitespace cr-at-eol
二、Commit 時轉換為 LF。
git config --global core.autocrlf input
# 結論
這狀況其實是我最近在 WSL 中 commit 修改時發生的。
一開始也是一臉茫然,後來才知道原來關於文件換行還有這段淵源。
趁機紀錄一下,希望能幫到碰到跟我一樣狀況的人。