当我执行gitdiffCOMMIT时,我看到了提交和HEAD之间的变化(据我所知),但我希望看到单个提交所做的变化。
我还没有在diff/log上找到任何明显的选项来提供输出。
当我执行gitdiffCOMMIT时,我看到了提交和HEAD之间的变化(据我所知),但我希望看到单个提交所做的变化。
我还没有在diff/log上找到任何明显的选项来提供输出。
当前回答
如果在图形视图中检查源更改,请使用:
gitk (your commit id goes here)
例如:
gitk HEAD~1
其他回答
git difftool COMMIT^ <commit hash>
如果您配置了difftool,也可以使用。
请参阅此处如何配置difftool。或此处的手册页。
此外,您可以使用git diff树--no commit id--name only-r<commit hash>来查看在给定的提交哈希中更改/提交了哪些文件。
如“gitcommit与其父级的差异的速记?”中所述,您也可以将gitdiff用于:
git diff COMMIT^!
or
git diff-tree -p COMMIT
使用gitshow,您需要(为了只关注diff):
git show --color --pretty=format:%b COMMIT
COMMIT参数是COMMIT-ish:
提交对象或可以递归地取消引用到提交对象的对象。以下是所有提交对象:提交对象、指向提交对象的标记对象、指向指向提交对象标记对象的标签对象等。
参见gitrevision“指定修订”以引用提交。另请参阅“tree-ish在Git中是什么意思?”。
检查完整更改:
git diff <commit_Id_1> <commit_Id_2>
仅检查更改/添加/删除的文件:
git diff <commit_Id_1> <commit_Id_2> --name-only
注意:对于检查diff而不在两者之间进行提交,您不需要输入提交id。
Use:
git show <commit_sha>
这将向您展示该承诺中的内容。只需在两个提交SHA-1散列之间放置一个空格,就可以完成范围。
git show <beginning_sha> <ending_sha>
如果您经常重新设置基础,这非常有用,因为您的功能日志都是一行的。
如果您想查看最后3次提交,可以使用HEAD语法
git show HEAD~3 HEAD
以下内容似乎可以完成任务:;我用它来显示合并带来了什么。
git whatchanged -m -n 1 -p <SHA-1 hash of merge commit>