git diff提示filemode发生改变(old mode 100644.new mode 10075) Posted on 2016-11-15 16:55 我是孙海龙 阅读(2292) 评论(0) 编辑 收藏 今天clone代码,git status显示修改了大量文件,git diff提示filemode变化,如下: diff --git a/Android.mk b/Android.mkold mode 100644new mode 100755 原来是filemode的变化,文件ch…
今天clone代码,git status显示修改了大量文件,git diff提示filemode变化,如下: diff --git a/Android.mk b/Android.mkold mode 100644new mode 100755 原来是filemode的变化,文件chmod后其文件某些位是改变了的,如果严格的比较原文件和chmod后的文件,两者是有区别的,但是源代码通常只关心文本内容,因此chmod产生的变化应该忽略,所以设置一下: 切到源码的根目录下, git config --…
755 vs 644 在linux下载了Qt的软件仓库,拷贝了一份到windows下.在 msysgit 下,发现所有的文件都被修改了. 用 git diff 查看,发现是: $ git diff util/webkit/mkdist-webkit diff --git a/util/webkit/mkdist-webkit b/util/webkit/mkdist-webkit old mode 100755 new mode 100644 原来是msysgit在windows下需要为文件"仿…
今天执行git diff filename ,出现 old mode 100644 new mode 100755 的提示,如下图: 但是发现文件内容并没有发生改变 想起来中间执行过chmod  的操作, 产生这个问题的原因就是: filemode的变化,文件chmod后其文件某些位是改变了的,如果严格的比较原文件和chmod后的文件,两者是有区别的,但是源代码通常只关心文本内容,因此chmod产生的变化应该忽略,所以设置一下: 切到源码的根目录下, git config --add core.…
1.diff的三种格式: 正常格式(normal diff) 上下文格式(context diff) 合并格式(unified diff) 2.示例文件为了便于讲解,先新建两个示例文件.第一个文件叫做f1,内容是每行一个a,一共7行. a a a a a a a 第二个文件叫做f2,修改f1而成,第4行变成b,其他不变. a a a b a a a 3.正常格式的diff最早的Unix(即AT&T版本的Unix),使用的就是这种格式的diff. $diff f1 f2 这时,diff就会显示正常…
UNIX世界的软件开发大多都是协作式的,因此,Patch(补丁)是一个相当重要的东西,因为几乎所有的大型UNIX项目的普通贡献者,都是通过 Patch来提交代码的.作为最重要的开源项目之一,Linux,也是这样的.普通开发者从软件仓库clone下代码,然后写入代码,做一个Patch, 最后用E-mail发给Linux Kernel的维护者就好了.Git最初作为Linux的版本控制工具,提供了透明.完整.稳定的Patch功能. 我们先介绍一下Patch是什么.如果一个软件有了新版本,我们可以完整地…
目录 1.git diff 命令说明 2.比较工作区与暂存区中文件的差别 3.比较暂存区与本地库中文件的差别 4.总结git diff命令常见用法 5.总结 1.git diff 命令说明 在commit操作之前,我们通常要确定一下自己在什么地方更改了代码,看看有没有误操作代码,这个时候git status命令的显示就比较简单了,仅仅是列出了修改过的文件,如果要查看具体修改了什么地方,就可以使用git diff命令. 比较有用的选项:--stat:显示有多少行发生变化,简洁的展示差异. 2.比较…
缘起 在项目中, 通常都会使用代码检测工具来规范团队的代码风格, 比如eslint.随着代码的不断增加, eslint进行代码检测的时间也越来越久.每次检测的时候, 需要检测的文件和实际检测的文件极度不对称,所以便基于git diff写了这样一个小工具. 源代码 启动脚本(lint.sh) #!/bin/bash INFO='\033[36m'; NOR='\033[0m'; ERR='\033[31m'; br='dev'; echo -e "${INFO}run lint now ... j…
如果两个文件相似度很高,那么上下文格式的diff,将显示大量重复的内容,很浪费空间.1990年,GNU diff率先推出了"合并格式"的diff,将f1和f2的上下文合并在一起显示. 它的使用方法是加入u参数(代表unified). $ diff -u f1 f2 显示结果如下: --- f1 2012-08-29 16:45:41.000000000 +0800 +++ f2 2012-08-29 16:45:51.000000000 +0800 @@ -1,7 +1,7 @@ a…
git diff命令 如果想要知道变更的具体内容,可以使用git diff命令.它被用来解决两个问题: 哪些变更还没有被暂存? 那些已暂存的变更正待提价? git diff在git status基础上,显示出了你具体添加和删除了哪些行. 我们现在为main.c加入一行新语句,并提交到暂存区,然后修改这一行保存,但不提交到暂存区 $ git add main.c 查看尚未添加到暂存区的变更 直接输入不带参数的git diff $ git diff diff --git a/main.c b/mai…