文章目录
-
-
- [1. 查看工作目录和暂存区的差异](#1. 查看工作目录和暂存区的差异)
- [2. 查看暂存区和最后一次提交的差异](#2. 查看暂存区和最后一次提交的差异)
- [3. 查看两个提交之间的差异](#3. 查看两个提交之间的差异)
- [4. 查看特定文件的更改](#4. 查看特定文件的更改)
- [5. 查看特定文件在两个提交之间的差异](#5. 查看特定文件在两个提交之间的差异)
- [6. 查看分支之间的差异](#6. 查看分支之间的差异)
- [7. 查看某次提交的更改](#7. 查看某次提交的更改)
- [8. 限制diff输出的格式](#8. 限制diff输出的格式)
- [9. 查看一定时间范围内的更改](#9. 查看一定时间范围内的更改)
-
Git的diff
命令是一种强大的工具,用于比较Git仓库中文件的更改。以下是一些常用的git diff
命令用法和示例:
1. 查看工作目录和暂存区的差异
bash
git diff
这个命令显示自上次git add
以来,在工作目录中对文件所做的未暂存的更改。
2. 查看暂存区和最后一次提交的差异
bash
git diff --staged
或者
bash
git diff --cached
这些命令显示自上次git commit
以来,暂存区中的文件与最后一次提交的差异。
3. 查看两个提交之间的差异
bash
git diff commit1 commit2
这里commit1
和commit2
是两个提交的哈希值或引用。该命令显示两次提交之间的差异。
要对比两个特定的 Git 提交(例子是 e28efea
和 6f14d41
),可以使用 Git 的 diff
命令。这个命令会显示两次提交之间代码的具体更改(添加、删除或修改的行)。
在终端或命令提示符中,您可以使用以下命令来对比这两个提交:
bash
git diff 6f14d41 e28efea
这里,6f14d41
和 e28efea
是两个提交的哈希值。这个命令将展示自从 6f14d41
之后,直到 e28efea
所发生的所有更改。
输出结果会显示所有更改的详细内容,其中:
- 以绿色(并且前面有
+
号)显示的是添加的行。 - 以红色(并且前面有
-
号)显示的是删除的行。
如果您只对比这两个提交中某个特定文件的差异,可以在命令中指定文件名:
bash
git diff 6f14d41 e28efea -- [文件路径]
请替换 [文件路径]
为您要比较的具体文件路径。
使用这个方法,您可以清楚地看到两个版本之间的代码差异,这对于了解特定更改的性质和影响非常有帮助。
4. 查看特定文件的更改
bash
git diff [文件路径]
显示自上次git add
以来,指定文件的更改。
5. 查看特定文件在两个提交之间的差异
bash
git diff commit1 commit2 -- [文件路径]
显示两个提交之间指定文件的差异。
6. 查看分支之间的差异
bash
git diff branch1 branch2
显示两个分支之间的差异。
7. 查看某次提交的更改
bash
git diff commit1^!
这显示了commit1
与其父提交之间的更改。
8. 限制diff输出的格式
bash
git diff --stat
只显示每个文件的总结信息(如更改的行数和文件)。
9. 查看一定时间范围内的更改
bash
git diff 'HEAD@{1 week ago}'
显示一周前与当前工作目录的差异。