git diff 理解】的更多相关文章

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…
以前总听说git[分布式版本控制系统]自己愣是搞不懂它到底要干哈-什么叫版本控制系统根本理解不了.现在工作需要必须要用到,结果好像就突然懂了git是干什么滴. 所以!原理这个东西的理解是要建立在大量的练习使用的基础上的! 版本库即仓库,英文名repository,里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以"还原". 初始化一个本地版本库: git init     (我们一般会创建一个文件夹,进入该文件…
1.首先,打开一个干净的工作区 2.对文件进行修改 3.使用 git diff  进行查看(这里的解释可能不是很准确,暂时这么理解!) 4. 执行 git add 将工作区中的内容add到stage,再次 执行 git diff ,发现没有内容. 5.执行 git diff --cached 6.执行 git commit 提交的情况是:…
参考: http://stackoverflow.com/questions/2529441/how-to-read-the-output-from-git-diff https://www.git-tower.com/learn/git/ebook/en/command-line/advanced-topics/diffs http://www.ruanyifeng.com/blog/2012/08/how_to_read_diff.html 就最不明白的一点: 23,7表示从23行开始的7行…
不同参数下git diff输出并不相同,理解了工作区,暂存区和版本库的关系之后就很容易理解diff了. 工作区.暂存区和版本库的目录树浏览 清除工作区中未被git管理的文件 git clean -fd 查看暂存区和HEAD中的目录树 git ls-tree -l HEAD 其中: 参数-l可以显示文件大小 第一个字段时文件的属性(rw-r--r--,644) 第二个字段说明时Git对象库中的一个blob对象(文件) 第三个字段时该文件在对象库中对应的ID——40位的SHA1哈希值 第四个字段时文…
在window下已经安装了git的环境 1.建立本地仓库 mkdir   test     #建立test目录 cd   test        #进入目录 git  init           #创建好了本地git仓库,会发现在test目录中多了一个.git目录,并且这个目录是隐藏的 示例: $ git init Initialized empty Git repository in F:/git-repo/test/.git/ init前 init后 2.提交文件到中转站和仓库(add和c…
Git diff 代码比较的高级技巧 作者:offbye 出处:http://blog.csdn.net/offbye/article/details/6592563 Git是使用branch来管理不同的功能点开发的,那么我们怎样能比较不同branch的不同呢? 使用 git diff  branch1 branch2 , 就可以了, 但这个方法不够直观, 因为只能显示不同点的上下几行,不方便理解. 比较好的做法是使用图形化比较工具比较,例如meld,  使用以下的命令就可以了 [html] v…
查看 Git 区域文件的具体改动 git diff git status 只能让我们知道文件在 Git 区域内的改动状态,但如果我们想查看某个文件内具体改了什么(也可以理解为在不同 Git 区域中的差异),此时需要用 git diff 命令. 对于 b 文件,由于是新增的文件,其只存在于工作区,且处于 Untracked 状态,Git 认为无论是哪两个 Git 区域之间的比对都没有意义,得到的结果是没有区别. 而对于 a文件,由于已经被提交到仓库了,处于 Git 管理中,所以这个文件同时存在于三…
我是使用一台电脑测试, 然后在本地电脑创建了两个工作目录.专门用来模拟两个人提交代码.假设a.b两个人.只使用一个master分支做测试, 没有建立其他的分支. 主要就是为了研究冲突的解决方式.感觉git pull总是强制覆盖. a修改了代码并且提交master分支. 1) 测试一: 远程master分支已改变,然后b现在也修改了代码.不过b还没有提交,直接git pull ,不能拉取代码.报错提示: error: Your local changes to the following file…
理解git diff的前提,首先要理解git中工作区,暂存区,本地版本库的概念,如果头脑中有这些概念,接着往下读. git diff test.c 用来查看工作区和暂存区中test.c文件的区别. git diff HEAD -- test.c 用来查看工作区和本地版本库中test.c文件的区别. eg: a. 在工作区中修改文件cfm_test.c,git diff cfm_test.c 和 git diff HEAD --  cfm_test.c 分别输出如下: [3me]$ git dif…