繁体   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