同时在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文件夹 ...
随机推荐
- Codeforces Round #272 (Div. 2)-C. Dreamoon and Sums
http://codeforces.com/contest/476/problem/C C. Dreamoon and Sums time limit per test 1.5 seconds mem ...
- JavaScript -- 语法和数据类型
前戏 前面学了HTML和CSS相关的知识,那JavaScript是做什么的呢?你在网页上看到的那些炫酷的特效都是通过JS来实现的,所以,想要开发一个逼格满满的web页面,JS是必须要会的 什么是Jav ...
- fckeditor配置详解
使用配置设置: . FCKConfig.CustomConfigurationsPath = '' ; // 自定义配置文件路径和名称 . FCKConfigFCKConfig.EditorAreaC ...
- 用事件队列解决GUI的操作顺序问题(Qt中处理方法)
GUI操作顺序问题引发异常: 有时候我们使用写GUI程序的时候会遇到这样的问题:比如在程序中,建立了一个列表的GUI.这个列表是随着时间不断更新的,而且操作也会读取这个列表GUI的内容. 如果这个程序 ...
- non-JRMP server at remote endpoint
#在相应的domain的domain.xml文件添加下面红色设置,并重启domain <admin-service system-jmx-connector-name="system& ...
- iOS Crash
常见原因及解决方法: 1. 访问数组类对象越界或插入了空对象NSMutableArray/NSMutableDictionary/NSMutableSet 等类下标越界,或者 insert 了一个 n ...
- HashMap允许将null用作键 也允许将null作为值
HashMap不能保证元素的顺序,HashMap能够将键设为null,也可以将值设为null. 与之对应的是Hashtable,(注意大小写:不是HashTable),Hashtable不能将键和值设 ...
- Spring Cloud Stream在同一通道根据消息内容分发不同的消费逻辑
应用场景 有的时候,我们对于同一通道中的消息处理,会通过判断头信息或者消息内容来做一些差异化处理,比如:可能在消息头信息中带入消息版本号,然后通过if判断来执行不同的处理逻辑,其代码结构可能是这样的: ...
- (原)剑指offer变态跳台阶
变态跳台阶 时间限制:1秒空间限制:32768K 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 分析一下明天是个斐波那契 ...
- 【Linux】网卡配置与绑定
Redhat Linux的网络配置,基本上是通过修改几个配置文件来实现的. 虽然也可以用ifconfig来设置IP,用route来配置默认网关,用hostname来配置主机名,但是重启后会丢失. 相关 ...