当我执行gitdiffCOMMIT时,我看到了提交和HEAD之间的变化(据我所知),但我希望看到单个提交所做的变化。
我还没有在diff/log上找到任何明显的选项来提供输出。
当我执行gitdiffCOMMIT时,我看到了提交和HEAD之间的变化(据我所知),但我希望看到单个提交所做的变化。
我还没有在diff/log上找到任何明显的选项来提供输出。
当前回答
从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 diff <commit-hash>^-
例子:
git diff cd1b3f485^-
检查文件更改的更简单方法(示例)
# 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 diff HEAD HEAD ^1查看与父提交的差异。
如果您只想查看文件列表,请添加--stat选项。
对我来说,这很好
git show COMMIT --compact-summary
显示下一个信息
输出扩展头信息的浓缩摘要,例如diffstat中的文件创建或删除(“new”或“gone”,如果是符号链接,可选“+l”)和模式更改(“+x”或“-x”分别用于添加或删除可执行位)。信息放在文件名部分和图形部分之间。暗示--stat。
您可以在git的特定地址上单击每次提交以查看如果您使用工具提交,您可以通过展会历史记录