同时在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/\r//" [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
同时在windows和linux环境开发时换行符的处理的更多相关文章
- git在不同平台windows、linux、mac 上换行符的问题
0.01 不同平台上换行符的问题 1,不同平台对换行符的制定不同 windows <回车换行> (carriage return AND line feed) “\n\r” CRLF Un ...
- Linux- 关于windows和Linux和Mac的换行符
windows 的换行符为"\r\n" Linux的换行符为"\n" Mac的换行符为"\n\r",和Windows相反
- 不同平台windows、linux、mac 上换行符的问题
http://blog.chinaunix.net/uid-26748613-id-3179595.html?page=2 https://blog.csdn.net/changruihe/artic ...
- linux和Dos下换行符转换
一.windows的文件到linux下的转换方法: 1. 用sed命令替换 sed -e 's/^M//g' original.txt > target.txt (注意^M 在Linux/Uni ...
- windows和linux环境下java调用C++代码-JNI技术
最近部门做安卓移动开发的需要调C++的代码,困难重重,最后任务交给了我,查找相关资料,没有一个教程能把不同环境(windows,linux)下怎么调用说明白的,自己在实现的过程中踩了几个坑,在这里总结 ...
- Windows 安装 Linux 环境
简介 在实际开发中,我们除了在Windows上进行开发外,可能还需要基于Linux进行一些编译或者测试等,因此,我们可能需要在Windows环境中安装Linux环境,通常可能我们会使用虚拟机替代,但是 ...
- windows和linux环境下制作U盘启动盘
新笔记本上,要装xp的系统,100%会破坏原有的Linux系统,因为安装xp的时候会自动覆盖硬盘的主引导扇区,这个扇区一旦被重写,那么原有的linux根本就启动不了. 要想玩linux和xp双系统,一 ...
- jenkins在windows及linux环境下安装
下载 下载地址: https://jenkins.io/download/ 下载windows和linux通用的war包 jenkins在windows下安装 前提:已经安装jdk.tomcat 将w ...
- windows及linux环境下永久修改pip镜像源的方法
一.在windows环境下修改pip镜像源的方法(以python3.5为例) (1):在windows文件管理器中,输入 %APPDATA% (2):会定位到一个新的目录下,在该目录下新建pip文件夹 ...
随机推荐
- HTTP协议详解-基础知识
HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.绝大多数的Web开发,都是构建在HTTP协议之上的Web应用. HTTP协议的主要特点可概括如下: 简单: ...
- SSH整合JAR包详解
如果要使用连接池,添加JAR : c3p0-0.9.1.2.jar
- jExcelAPI导入导出excel
MS的电子表格(Excel)是Office的重要成员,是保存统计数据的一种常用格式.作为办公文档,势必要涉及到的电子文档的交换,Excel是一种在企业中非常通用的文件格式,打印和管理也比较方便.在 ...
- Flask——基础知识
Flask应用程序 一个简单的Flask应用程序 # 导入flask程序 from flask import Flask # 初始化flask对象 app = Flask(__name__) # 装饰 ...
- Ukulele 那些花儿
- mysql:having 用法
顺序:where -> group by -> min -> order by -> limit 在select语句中使用having 子句来指定一组行或聚合的过滤条件 hav ...
- perl 对ENV环境变量的使用
1.hash 方式访问. %ENV key为环境变量名,value为环境变量值 2.调用ENV模块 . use Env qw(PATH); print "path is $ENV{path ...
- Python之路-基础数据类型之列表 元组
列表的定义 列表是Python基础数据类型之一,它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: lst = [1,2,'你好','num'] 列表的索引和切片 与字符串类似, ...
- linux 使用mail 发送邮件
配置: /etc/mail.rc 追加配置参数 set from=lynctest@iclinux.com smtp="mail.iclinux.com"smtp-auth-use ...
- 【07】像使用命令行一样使用 GitHub URL
[07] 像使用命令行一样使用 GitHub URL 既然说到了 URL,那么久接着聊一下.使用 UI 浏览 GitHub 很 方面也很好,不过很多时候最快的方式是使用 URL 来浏览.举个例子,如果 ...