git diff A10..A1 > my.diff 转自: http://stackoverflow.com/questions/19067896/saving-the-entire-git-diff-between-two-commits-in-a-text-file…
1. 本地工作目录与远程仓库对比(所有改动过的文件) git diff HEAD  (HEAD指向最新一次的提交,即最新版本) 2. 之对比给定的文件 git diff -- filename //是查看working tree与index file的差别的. 3. 与历史提交对比 git diff commit -ascidfjutt2389292929921 4. 是查看index file与commit的差别的. git diff --cached working tree:就是你所工作在…
Git diff 代码比较的高级技巧 作者:offbye 出处:http://blog.csdn.net/offbye/article/details/6592563 Git是使用branch来管理不同的功能点开发的,那么我们怎样能比较不同branch的不同呢? 使用 git diff  branch1 branch2 , 就可以了, 但这个方法不够直观, 因为只能显示不同点的上下几行,不方便理解. 比较好的做法是使用图形化比较工具比较,例如meld,  使用以下的命令就可以了 [html] v…
在终端,输入 git diff 文件名  命令之后回车,显示如下界面: 在网上查找,说输入q回车即可退出显示,执行,果然有效,输入h可以显示所有命令 命令如下: SUMMARY OF LESS COMMANDS Commands marked with * may be preceded by a number, N.      Notes in parentheses indicate the behavior if N is given.      A key preceded by a c…
0. 理解 git diff 返回信息 1. 命令 $ git diff README.md 2. 返回信息,注解 diff --git a/README.md b/README.md ## 1. 表示为你使用的git格式的diff: index d29ab50..7e42b29 100644 ## 2. 表示两个版本的git哈希值,(index区域的d29ab50对象, ## 与工作目录区域的7e42b29对象进行比较) ## 最后的六位数字是对象的模式(普通文件,644权限) --- a/R…
我是使用一台电脑测试, 然后在本地电脑创建了两个工作目录.专门用来模拟两个人提交代码.假设a.b两个人.只使用一个master分支做测试, 没有建立其他的分支. 主要就是为了研究冲突的解决方式.感觉git pull总是强制覆盖. a修改了代码并且提交master分支. 1) 测试一: 远程master分支已改变,然后b现在也修改了代码.不过b还没有提交,直接git pull ,不能拉取代码.报错提示: error: Your local changes to the following file…
git diff 简易操作说明 先git log 查看commit ID, 记录你想要打的补丁的ID 比如说: git log commit 4ff35d800fa62123a28b7bda2a04e749addf1918 Author: chenfulin5 <chenfulin5@gmail.com> Date: Tue Dec 20 17:37:09 2016 +0800 [I2C EEPROM] commit acb8cd154cecf20894ae25fc3787d6b6ba9b32…
这是由于换行符在不同的操作系统上定义的区别造成的. Windows用CR LF来定义换行,Linux用LF. CR全称是Carriage Return ,或者表示为\r, 意思是回车. LF全称是Line Feed,它才是真正意义上的换行表示符. 如果用git diff的时候看到^M字符,就说明两个文件在换行符上有所差别. 下面简单的方法可以让git diff的时候忽略换行符的差异: git config --global core.whitespace cr-at-eol 更好的方法是每个项目…
缘起 在项目中, 通常都会使用代码检测工具来规范团队的代码风格, 比如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…
今天clone代码,git status显示修改了大量文件,git diff提示filemode变化,如下: diff --git a/Android.mk b/Android.mkold mode 100644new mode 100755 原来是filemode的变化,文件chmod后其文件某些位是改变了的,如果严格的比较原文件和chmod后的文件,两者是有区别的,但是源代码通常只关心文本内容,因此chmod产生的变化应该忽略,所以设置一下: 切到源码的根目录下, git config --…