git - 如何区分提交?

标签 git git-diff

假设我执行 git log 并看到 ID 为 280c5af57b02c41edbf947a0eed31c72e2839123 的提交

似乎要查看该提交中进行了哪些更改,我可以这样做

git diff 280c5af57^ 280c5af57

git show 280c5af57

但是,由于我已经将 opendiff 设置为 diff 工具(使用 https://gist.github.com/bkeating/329690 上的说明),上面的第一个命令将使用 opendiff 显示它,而第二个命令将在命令行上使用差异。

不是使用 Bash 别名或函数,有没有办法告诉 git 比较它而无需在提交 ID 中键入或粘贴两次? (如 svn diff -c 321234)

最佳答案

git diff 默认与工作树和/或索引进行比较。直接从存储库中比较树的命令是 git diff-tree。尝试:

git diff-tree --ext-diff -p 280c5af

关于git - 如何区分提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23302091/

相关文章:

c++ - 类 git 界面的最佳方法

git - 我怎样才能一次删除我所有的 Git 存储?

git - 在提交 git checkout 文件后,git diff 显示没有变化?

Git 还原所有被 git diff -w 忽略的更改

git - 如何在 gitk 中设置 diff 选项(--compaction-heuristic)

GitKraken: "This repository requires LFS but you do not have LFS installed"

xcode - Xcode 项目中更改的文件夹结构未反射(reflect)在 Git 存储库中

Windows 上的 Git Diff 和 Meld

git 失败时尽量打补丁

bash - 每次提交的提交中的所有文件的列表