【git】windows下git換行符自動轉換致使centos下shell腳本沒法正常運行

1.問題描述

  1. 項目中我爲springboot項目部署準備了啓動腳本start.sh,有時候啓動正常,有時候啓動報錯,報錯以下圖:Inked微信圖片_20200102220609_LI.jpg
  2. 從gitlab上檢查start.sh腳本源碼,並無發現有\r字符

2.緣由排查

  1. 從打好的zip裏解壓出start.sh,而後在git bash中經過od -c start.sh查看文件內容,發現文件內容確實有\r字符:Inked微信圖片_20200102221413_LI.jpg
  2. gitlab源碼上沒有\r,而打好的包裏有\r,從gitlab到打包步驟僅僅是經過windows git bash把代碼clone下來而後mvn打包,全部懷疑是否是windows clone時被git轉換了換行符\n->\r\n?
  3. 進過一番搜索,確實是git有一個配置參數來控制是否進行換行符轉換:
    git config --global core.autocrlf false 禁用自動轉換
    git config --global core.autocrlf true 開啓自動轉換
    git config --list 可查看當前git的配置項

3.解決方法

  1. git config --global core.autocrlf false 禁用自動轉換
  2. 刪除本地項目,從新clone而後mvn打包,問題解決~~~

看似小問題排查了很久,汗-_-!git

相關文章
相關標籤/搜索