git

git基本設定

git setting

1
git config --global --edit
  • 顯示所有branch
    git branch -a

autocrlf

結論

比較好的方式是

1
git config --global core.autocrlf false

原因

換行:

  • Windows 使用 CRLF (\r\n)
  • Linux 使用 LF (\n)
Eclipse

upload successful

預設是windows設定,也就是換行=\r\n
所以如果使用JGit也是使用windows的設定

Git for Windows

upload successful

預設core.autocrlf true
Checkout時 LF->CRLF
Commit時 CRLF->LF

這時候就會產生問題,

  1. 比方說原本是在Windows上的Eclipse搭配SVN開發,後來要轉換到Git上,那由於Git是Linux Base的,當把SVN上的所有檔案移植到git,並commit後,所有的換行就會從CRLF轉換成LF
  2. 由於Checkout時會轉換成CRLF,當遇到有些程式不吃CRLF時就會報錯

autocrlf設定解析

https://stackoverflow.com/a/20653073

Reference

https://ihower.tw/blog/archives/5436
https://blog.miniasp.com/post/2013/09/15/Git-for-Windows-Line-Ending-Conversion-Notes
https://zh.wikipedia.org/wiki/ASCII