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

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


当前回答

我通常会:

git diff HEAD~1

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

其他回答

要通过提交查看作者和时间,请使用gitshowCOMMIT。这将导致如下情况:

commit 13414df70354678b1b9304ebe4b6d204810f867e
Merge: a2a2894 3a1ba8f
Author: You <you@you.com>
Date:   Fri Jul 24 17:46:42 2015 -0700

     Merge remote-tracking branch 'origin/your-feature'

如果您想查看哪些文件已更改,请使用上面“合并”行中的值运行以下命令:git diff--stat a2a2894 3a1ba8f。

如果要查看实际差异,请运行git-stat a2a2894 3a1ba8f。

Use:

git show <commit_sha>

这将向您展示该承诺中的内容。只需在两个提交SHA-1散列之间放置一个空格,就可以完成范围。

git show <beginning_sha> <ending_sha>

如果您经常重新设置基础,这非常有用,因为您的功能日志都是一行的。

如果您想查看最后3次提交,可以使用HEAD语法

git show HEAD~3 HEAD

还可以查看特定文件的两次提交之间的更改。

git diff <commit_Id_1> <commit_Id_2> some_dir/file.txt

检查文件更改的更简单方法(示例)

# 1. Checkout a branch and see the list of commits
git log --oneline -5

# > Output
9b9b1f8 (HEAD -> master) Updated ABC
d58e5da chore: Added files
5a4aa2c chore: Added my pipeline
bb2b0b7 feat: Added ABC
473f711 feat: Added ZYX
# 2. Pick a commit hash and check which files were modified
git show --stat --oneline d58e5da

# > Output
d58e5da chore: Added versioning files
 Someabcfile                            | 18 ++++++++++++++++++
 myfolder/file.py                       | 19 +++++++++++++++++++
 myfolder/file.js                       |  7 +++++++
 myfolder/file.txt                      |  1 +
 4 files changed, 45 insertions(+)
# 3. Pick a file to check the differences
git show d58e5da myfolder12/file.py

或者,从列表中检查一次提交中的所有文件差异:

git show d58e5da

您可以在git的特定地址上单击每次提交以查看如果您使用工具提交,您可以通过展会历史记录