协慌网

登录 贡献 社区

查找当前版本与上一版本之间的差异

使用 Git,如何找到当前版本与最新版本之间的差异?

git diff last version:HEAD

答案

我不太了解 “最新版本” 的含义。

由于可以使用 HEAD ^ 访问先前的提交,因此我认为您正在寻找类似的东西:

git diff HEAD^ HEAD

从 Git 1.8.5 开始, @ HEAD的别名,因此您可以使用:

git diff @~..@

以下内容也将起作用:

git show

如果您想知道 head 和任何提交之间的区别,可以使用:

git diff commit_id HEAD

这将启动您的视觉差异工具(如果已配置):

git difftool HEAD^ HEAD

由于与 HEAD 的比较是默认设置,因此您可以忽略它(如Orient所指出的):

git diff @^
git diff HEAD^
git diff commit_id

警示语

  • @ScottF 和 @Panzercrisis 在注释中解释说,在 Windows 上~字符而不是^

假设 “当前版本” 是工作目录(未提交的修改),而 “最新版本” 是HEAD (当前分支的最新提交的修改),只需执行

git diff HEAD

以下内容Cerran用户 Cerran。

而且,如果-a跳过登台区域,则可以简单地使用git diff

概括

  1. git diff显示未分段的更改。
  2. git diff --cached显示分阶段的更改。
  3. git diff HEAD显示所有更改(已分阶段和未分阶段)。

资料来源:git-diff(1)手册页– Cerran

正如amalloy 在评论中指出的那样,如果 “当前和最新版本” 是指最后一次提交和在此之前的提交,则可以简单地使用

git show