zoukankan      html  css  js  c++  java
  • 同时在windows和linux环境开发时换行符的处理

    Git 的 core.autocrlf 參數默认为true,即每次 checkin 時,Git 會將純文字類型的檔案中的所有 CRLF 字元轉換為 LF,也就是版本庫中的換行符號一律存成 LF;在 checkout 時,則會將 LF 轉換成目前作業系統的換行符號,例如在 Windows 上面就是轉成 CRLF。

    如果你的项目会同时在windows和linux下开发,并可能从windows复制代码到linux,则尽量转换为LF来处理,

    一、AutoCRLF

    提交时转换为LF,检出时转换为CRLF

    git config --global core.autocrlf true

    提交时转换为LF,检出时不转换

    git config --global core.autocrlf input

    提交检出均不转换

    git config --global core.autocrlf false

    二、SafeCRLF

    拒绝提交包含混合换行符的文件

    git config --global core.safecrlf true

    允许提交包含混合换行符的文件

    git config --global core.safecrlf false

    提交包含混合换行符的文件时给出警告

    git config --global core.safecrlf warn

    對特定 repository 設定不做转换:

    用文字編輯器修改 repository 根目錄下的 .gitattributes 檔案,修改 text 屬性。例如:

    * text=auto
    

    這是預設值,亦即如果沒有另外指定哪些檔案類型要採用何種換行策略,就會使用此預設值:auto。也就是說,預設讓 git 自動處理換行字元的轉換。這個屬性的其他設定值以及範例可以看這裡:Dealing with line endings。

    在經歷一次慘痛的教訓之後,我的建議是把 auto 關掉(不要自動轉換)。也就是把上面那行改成這樣:

    * -text
    

    注意:.gitattributes 檔案必須 commit 至檔案庫中;其設定會蓋掉 core.autocrlf 參數的設定。

    临时修改某一份文件的换行符

     sed -i "s/
    //" [file-name]
    

    参考:
    http://huan-lin.blogspot.com/2011/05/git-coreautocrlf.html
    http://stackoverflow.com/questions/2825428/why-should-i-use-core-autocrlf-true-in-git
    http://www.cnblogs.com/flying_bat/p/3324769.html

  • 相关阅读:
    练习
    圆形时钟
    鼠标经过改变颜色
    Java基础知识精华部分(个人总结)
    Java随机数总结
    java 获取随机数字的三种方法
    网站开发人员应该知道的61件事
    人人都该了解的十大算法
    String 字符串
    面向对象 JAVA代码
  • 原文地址:https://www.cnblogs.com/windchen/p/6385534.html
Copyright © 2011-2022 走看看