2011-10-07 66 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

相關問題