換行符
- CR:Carriage Return,對應ASCII中轉(zhuǎn)義字符\r,表示回車
- LF:Linefeed,對應ASCII中轉(zhuǎn)義字符\n,表示換行
- CRLF:Carriage Return & Linefeed,\r\n,表示回車并換行
其中CR只再早期的mac系統(tǒng)(MacIntosh)中使用, 目前LF在Linux/Unix/Mac OS系統(tǒng)中使用,CRLF在Windows系統(tǒng)中使用
為什么選擇LF
實際上基本所有現(xiàn)代的文本編輯器或是命令行工具都提供了可選的換行符配置; 考慮到我們在開發(fā)的程序大多數(shù)運行在Linux服務器上, 并且相對于CRLF來說, LF明顯少了一個字符??, 所以我還是選擇使用LF
設(shè)置LF
多人參與的項目, 每個人的操作系統(tǒng)可能不一致, 這個時候需要統(tǒng)一大家的設(shè)置, 使得代碼提交的時候都是使用
LF作為換行符
IDEA設(shè)置
- 打開設(shè)置
File-->Setting-->Editor-->Code Style, 設(shè)置Line separator為圖中選項
image.png
如果你使用的是Linux/Unix/Mac OS系統(tǒng), 則默認使用的就是LF; 設(shè)置完這些后, 后續(xù)創(chuàng)建的文件都將使用LF作為換行符 - 選擇當前工程的根目錄, 展開菜單
File-->File Properties-->Line Separators, 選擇圖中選項
image.png
此時IDEA會將工程所有的文件全部使用LF作為換行符
Git設(shè)置
設(shè)置完IDEA后, 在自己的編碼過程中就不會出現(xiàn)還是
CRLF的情況, 但此時倘若其他人沒有設(shè)置, 提交了一份使用CRLF的文件, 那么這份使用CRLF的文件將不會被轉(zhuǎn)換成LF; 因此我們設(shè)置Git, 以便于在代碼提交的時候?qū)ξ覀冏龀鎏崾竞透?/p>
core.autocrlf配置
// 提交時轉(zhuǎn)換為LF,檢出時轉(zhuǎn)換為CRLF
git config --global core.autocrlf true
// 提交時轉(zhuǎn)換為LF,檢出時不轉(zhuǎn)換
git config --global core.autocrlf input
// 提交檢出均不轉(zhuǎn)換
git config --global core.autocrlf false
core.safecrlf配置
// 不允許提交含不同換行符的文件
git config --global core.safecrlf true

