1、git diff命令的格式
1】可以使用git diff命令的来源,(任意树对象、工作目录、索引)
2】git diff命令进行树比较时,可以通过(提交名、分支名、标签名)
3】git diff的4种基本比较
4】git diff命令的其他选项
2、简单的git diff例子
1】大致例子和上文相似。
2】注意: git diff == git diff HEAD
3、git diff 和提交范围
1】git diff支持两点语法显示两个提交之间的不同。
(git diff master bug/pr-1 == git diff master..bug/pr-1)
2】diff:不关心历史记录,只关心两个点。log:关心这个变化的过程
4、路径限制的git diff
1】默认情况下,git diff操作基于给定树对象的根开始的整个目录结构。
(可以使用路径限制手段,限制只输出版本库的一个子集)
2】通过-S"string"选项搜索包含"string"的变更。
3】-S通常叫做pickaxe,Git会列出最近一定数量的提交中包含指定字符串的差异
5、比较SVN和Git如何产生diff
1】大多数(CVS和SVN)会跟踪一系列修订版本,只存储文件间的差异。
2】这么做是为了节省空间和开销。
3】SVN会将两个版本之间的所有小diff,合并为一个大diff。
4】Git直接操作两个版本之间的完整状态的快照,生成diff。