簡體   English   中英

遍歷HEAD以訪問所有git commit

[英]Traverse through HEAD to access all git commits

我正在嘗試使用以下命令來訪問分支上所有提交的提交ID。

git rev-parse HEAD~0 >給出最新的提交

git rev-parse HEAD~1 >給出前一個提交

git rev-parse HEAD~n

我需要使用循環方法來一次訪問所有提交
例如: git rev-parse HEAD~i

我無法使它工作。

一小會兒就可以了

git log --pretty="%h" | while read revision; do
    # do whatever you need to do with this revision
    echo revision $revision
done

如果需要反向,則可以使用--reverse作為參數進行記錄。

PS試圖獲得修訂數量?

revisions=$( git log --pretty="%h" | wc -l )
echo There are $revisions revisions on my branch

最終設法忽略了主合並的pull提交,而獲得了dev分支上的提交數量的計數。git rev-list origin / master因為我在分支上進行了2次提交,其余的是主合並提交。 我已將此計數存儲為局部變量i =2。我可以在下面的命令中使用該變量嗎? 下面的命令按原樣使用時會出現錯誤。 基本上,我想使命令的值等於i = 2。

git rev-parse HEAD〜i

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM