git diff 命令
git diff 命令用于比较 git 工作区、暂存区和版本库中文件内容的差异。
1. 查看工作区与暂存区的差异
git diff 不加参数,默认比较工作区与暂存区的所有文件的差异。
git diff
查看文件 filename 在工作目录与暂存区的差异。若是还没 add 进暂存区,则查看文件自身修改先后的差异。
git diff <filename>
2. 查看暂存区与 Git 仓库的差异
查看已经 add 进暂存区可是还没有 commit 的内容同最近一次 commit 时的内容的差异。
git diff --cached <filename>
也能够指定仓库版本:
> git diff --cached <commit> <filename>3. 查看工做目录与 Git 仓库的差异
查看工做目录同Git仓库指定 commit 的内容的差异。
git diff <commit> <filename>
<commit>=HEAD 时:查看工做目录同最近一次 commit 的内容的差异。
4. 查看 Git 仓库与 Git 仓库的差异
查看 Git 仓库任意两次 commit 之间的差异。
git diff <commit> <commit>
5. 常用约定和参数
以上命令能够不指定 <filename>,则对所有文件操做。 以上命令涉及和 Git仓库 对比的,都可指定 commit 的版本。
- HEAD 表示最近一次 commit HEAD^ 表示上次提交 HEAD~100 表示上100次提交
6. diff 文件的解释
使用 git diff 命令,会产生 diff 格式的输出。例如:
@@ -6,16 +6,16 @@- + - + - +
以上是 git diff 命令产生的比较的结果,分析如下:
- 表明修改前的文件,+ 表明修改后的文件。
@@ 后面的 第一个 6,16 指的是下边列出的内容是修改前的文件从第 6 行开始,连续 16 行。第二个 6,16 只的是下边的内容是修改后的文件从第 6 行开始,连续 16 行。
下一章:git commit 命令
git commit 命令将暂存区内容添加到本地仓库中。git commit 命令的语:提交暂存区的所有内容到本地本地仓库:git commit -m [message]。其中 [message] 可以是一些备注信息。提交暂存区的指定文件到本地仓库:git commit [file1] [file2] ... -m [message]。