当我执行gitdiffCOMMIT时,我看到了提交和HEAD之间的变化(据我所知),但我希望看到单个提交所做的变化。

我还没有在diff/log上找到任何明显的选项来提供输出。


当前回答

您也可以尝试以下简单方法:

git show <COMMIT>

其他回答

以下内容似乎可以完成任务:;我用它来显示合并带来了什么。

git whatchanged -m -n 1 -p <SHA-1 hash of merge commit>

从git diff(1)的手册页:

git diff [options] [<commit>] [--] [<path>…]
git diff [options] --cached [<commit>] [--] [<path>…]
git diff [options] <commit> <commit> [--] [<path>…]
git diff [options] <blob> <blob>
git diff [options] [--no-index] [--] <path> <path>

使用中间的第三个:

git diff [options] <parent-commit> <commit>

同样从同一手册页底部的示例部分:

$ git diff HEAD^ HEAD      <3>

比较上次提交和上次提交之前的版本。

诚然,它的措辞有点混乱,但也不会那么混乱

将最近的提交与之前的提交进行比较。

以下代码将显示当前提交

git show HEAD

我喜欢下面的命令来比较特定的提交和上次提交:

git diff <commit-hash>^-

例子:

git diff cd1b3f485^-

我通常会:

git diff HEAD~1

显示有关上次提交的更改。如果您有更多的提交,只需将数字1增加到您希望看到的提交差异。