我知道这类问题在很多问答中都有涉及,我已经研究过它们,但实际上我没有找到一种方法来获得我想要的。
我正在寻找两个哈希之间的 git 日志,包括范围内使用的哈希日志。
通过查看 SO 中的文档和其他 Q/A,我发现可以通过这种方式实现:
git log oldest...Newest
但这不返回最旧的日志被排除在外。
例如在这个 repo https://github.com/galniv/jira-git-helper/commits/master 中
我想要 52209d3738f80e49c724502503d6a72c1e24e6bc
之间的日志作为最旧的和 5456f8cecc5ef5cef5abc1f820a4f044e2153734
作为最新的。
git log 52209d3738f80e49c724502503d6a72c1e24e6bc...5456f8cecc5ef5cef5abc1f820a4f044e2153734
的结果只返回两个日志而不是 3 个:
commit 5456f8cecc5ef5cef5abc1f820a4f044e2153734
Author: Gal Niv <gal.niv@gmail.com>
Date: Tue Mar 21 15:33:55 2017 -0400
Update README.md
commit a4c184ecc7fb4c50705c0ac90c94752a31ce7251
Author: Gal Niv <gal.niv@gmail.com>
Date: Tue Mar 21 11:48:30 2017 -0400
Remove console.log, display current branch name
如何包含最旧哈希的日志?
最佳答案
如果不涉及 merge 提交,我会使用 ~:
git log old-rev~1..new-rev
这应该足够了。
关于Git 日志范围修订包括范围边缘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42937533/