2011-10-07 78 views
70

有无论如何获得从给定的提交号码提交给HEAD的提交列表吗?如何列出自某些提交以来的提交?

我知道这是可能被提交日期,但我通过提交数量需要它,我似乎无法找到任何文件,或即使这是可能的。

+0

你使用什么Git命令列出来自给定提交名称的提交? –

+0

你的意思是提交散列,对吧?你也可以用'HEAD〜10'来表示“HEAD前10次提交”,这样你就可以执行'git log HEAD〜10..',如果这就是你提交数字的意思。 – Cascabel

回答

87
git rev-list <since_hash>..HEAD 

或包括提交:

git rev-list <since_hash>^..HEAD 

您可以使用git log而不是git rev-list,以获得更多详细信息。

+0

这对我来说非常合适,谢谢!我发誓我已经尝试过了。一定是犯了一个错误。 – ehftwelve

+0

@manojlds我知道'HEAD'指向历时提交,但什么是的''^ –

+0

@KasunSiyambalapitiya''^是第一个父一个别名的含义。请参阅https://www.kernel.org/pub/software/scm/git/docs/git-rev-parse.html中的“指定修订” - 另请参阅手册https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection - 或者http://stackoverflow.com/questions/2221658/whats-the-difference-between-head-and-head-in-git – Michaelangel007

20

您可以从shell中运行以下的git命令:

git log --pretty=oneline commit-id...HEAD 
8

假设由 “提交号”,你的意思是提交哈希:

git log <commit-hash>..HEAD 
38
git log <hash>.. 

是最少的打字量。省略“头”假定这就是你的意思。 Rev-list也可以工作。

+0

这是我的最爱。我喜欢将它与'--oneline'结合使用。当然,也可以使用类似分支名称的引用,而不是''。 – codener

相关问题