常见git diff 使用:
(1) git diff [filename] 不加参数,默认比较 工作目录(Working tree) 和 暂存区域快照(index) 之间的差异
(2) git diff --cached [filename] 比较暂存区域快照(index) 和 上次提交(commit) 之间的差异
(3) git diff HEAD [filename] 比较 暂存区域快照(index) 和 上次提交(commit) 之间的差异
(4) git diff commit-id [filename] 比较工作区与指定commit-id的差异
(5) git diff --cached commit-id filename 比较暂存区与指定 commit-id 的差异
(6) git diff commit-id1 commit-id2 比较两个commit-id之间的差异
下图的README.md的内容都是已经提交了的
现在添加一句- feature-C
执行命令git diff,结果如图
diff --git a/README.md b/README.md
进行比较的是,a版本的README.md(即变动前)和b版本的README.md(即变动后)。
index 5e6a0dc..29f2cd4 100644
表示两个版本的git哈希值,(index区域的5e6a0dc对象,与工作目录区域的29f2cd4对象进行比较),最后的六位数字是对象的模式(100代表普通文件,644代表权限)。
--- a/README.md "---"表示变动前的版本
+++ b/README.md "+++"表示变动后的版本
\ No newline at end of file 最后一行没有换行
@@ -1,3 +1,4 @@
代表的意思是源文件的1-3行与目标文件的1-4行有差异,下面才是具体的差异信息;
-红色部分表示减少的部分
+绿色部分表示增加的部分
里面很多内容摘自《GitHub入门与实践》
git官方中文文档:https://git-scm.com/book/zh/v2
码云git大全:https://gitee.com/all-about-git