协慌网

登录 贡献 社区

如何查看 Git 提交中的更改?

当我执行git diff COMMIT我看到了该提交和 HEAD 之间的变化(据我所知),但我希望看到该单个提交所做的更改。

我没有在diff / log上找到任何明显的选项,它会给我输出。

答案

要查看特定COMMIT哈希的差异:

git diff COMMIT~ COMMIT将显示COMMIT的祖先和COMMIT之间的区别。有关命令和gitrevisions有关~符号及其朋友的详细信息,请参阅git diff的手册页。

或者, git show COMMIT会做一些非常相似的事情。 (提交的数据,包括它的差异 - 但不适用于合并提交。)请参阅git show 联机帮助页

正如 “ 使用其父级的 git 提交的差异的简写? ” 中所提到的,你也可以使用git diff

git diff COMMIT^!

要么

git diff-tree -p COMMIT

使用 git show,你需要(为了专注于 diff)来做:

git show --color --pretty=format:%b $COMMIT

COMMIT参数是commit-ish

commit 对象或一个对象可以被递归地解除引用到一个提交对象。以下是所有承诺,ishes:提交对象, 标签对象指向一个 commit 对象,指向一个指向 commit 对象等标签对象标签对象

请参阅gitrevision“SPECIFYING REVISIONS”以引用 commit-ish。
另请参阅 “ Git 中树的含义是什么? ”。

您也可以尝试这种简单方法:

git show <COMMIT>