1.简介
git diff 主要用于查看文件之间的区别。
- 工作区(Working Directory)与暂存区(Stage/Index)。
- 工作区与版本库(Repository)。
- 暂存区与版本库。
- 版本库与版本库的不同版本。
- 不同分支。
- 磁盘上两个文件。
- 本地分支与远端分支。
2.格式
代码语言:javascript复制git diff [<options>] [<commit>] [--] [<path>…]
git diff [<options>] --cached [--merge-base] [<commit>] [--] [<path>…]
git diff [<options>] [--merge-base] <commit> [<commit>…] <commit> [--] [<path>…]
git diff [<options>] <commit>…<commit> [--] [<path>…]
git diff [<options>] <blob> <blob>
git diff [<options>] --no-index [--] <path> <path>
代码语言:javascript复制git diff [<options>] [<commit>] [--] [<path>…]
此格式用于查看相对于索引(下一次提交的暂存区域)所做的更改。换句话说,不同之处就是你告诉 Git 进一步添加到索引中的变更,但你还没有这样做。你可以使用 git-add 将这些变更添加到索引。
3.常用示例
代码语言:javascript复制git diff [<filepath>]...
工作区与暂存区比较
git diff <commitid> [<filepath>]...
工作区与版本库比较
git diff <branch> [<filepath>]...
工作区与分支比较
git diff (--staged | --cached) [<commit>] [<filepath>]...
暂存区与版本库比较。commit 缺省为 HEAD,即最新提交
git diff [commit1] [commit2] [<filepath>]...
版本库与版本库的不同版本比较
git diff <branch1> <branch2> [<filepath>]...
不同分支最新提交比较
git diff --stat
列出发生变更的文件列表以及有多少行产生了改动
git diff <file1> <file2>
两个磁盘文件比较
git diff <remote>/<remote branch> <local branch>
本地分支与远端分支
注意:比较的两个对象,第一对象是被比较的对象,给出的差异结果也是第二个对象相对于第一个对象的差异结果。
参考文献
git diff