git-diff 手册页说 git diff 用于
显示工作树和索引或树之间的更改、索引和树之间的更改、两棵树之间的更改或磁盘上两个文件之间的更改。
但是如果你想显示 HEAD 之前的提交和工作目录之间的区别呢?那可能吗?
git-diff 手册页说 git diff 用于
显示工作树和索引或树之间的更改、索引和树之间的更改、两棵树之间的更改或磁盘上两个文件之间的更改。
但是如果你想显示 HEAD 之前的提交和工作目录之间的区别呢?那可能吗?
是的,但这在一定程度上取决于您对“当前项目状态”的定义。git diff 的手册继续。
如果您有兴趣与阶段性更改进行比较:
git diff [--options] --cached [<commit>] [--] [<path>...]
此表单用于查看您为下一次提交相对于命名的
<commit>
. 通常你会想要与最新的提交进行比较,所以如果你不给<commit>
,它默认为 HEAD。如果 HEAD 不存在(例如未出生的分支)并且<commit>
没有给出,则显示所有阶段性更改。--staged
是的同义词--cached
。
如果您有兴趣与未暂存的更改进行比较:
git diff [--options] <commit> [--] [<path>...]
此表单用于查看您在工作树中相对于命名的
<commit>
. 您可以使用 HEAD 将其与最新提交进行比较,或者使用分支名称与不同分支的尖端进行比较。
或者,如果您只是对比较任意两个提交感兴趣(一个可能是 HEAD):
git diff [--options] <commit> <commit> [--] [<path>...]
这是为了查看任意两个
<commit>
s之间的变化。
因此,您可能想运行以查看与当前 HEADgit diff someOldCommit HEAD
之间的差异。someOldCommit
这很简单:
git diff HEAD
说明:与上次提交相比,工作目录中的当前更改。