git 最近一次提交和我最后一次提交之间的区别

git diff between the latest commit and the last one I did

所以,我可以通过使用

轻松获得两次提交之间的差异

git diff hash_old hash_new file

可行,但在我当前的工作流程中,我的差异总是在最新提交和我的提交之间。有没有一种方法可以使用 shell 别名自动执行此操作,这样我就不必手动复制这两个哈希值,而是始终选择带有我的姓名或电子邮件的最新信息,并将其与最新的进行比较?

我尝试通过 shell 函数对 git diff 的输出进行子集化,然后创建一个别名来做到这一点,但不确定输出是否存储为数组。有什么建议吗?

试试这个:

$ git log -1 --pretty=format:"%h" --author=<name> | xargs git diff

<name> 替换为您的 git user-name

这可能是最短的解决方案,也是最稳定的解决方案,因为它使用 low-level 辅助命令进行历史遍历):

git diff $(git rev-list --author="Your Name" -1 HEAD) HEAD