我正在尝试使用以下命令来访问我分支上所有提交的提交 ID。
git rev-parse HEAD~0
--> 给出最新的提交
git rev-parse HEAD~1
--> 给出之前的提交
git rev-parse HEAD~n
我需要使用循环方法一一访问所有提交
:git rev-parse HEAD~i
我不能让它工作。
我正在尝试使用以下命令来访问我分支上所有提交的提交 ID。
git rev-parse HEAD~0
--> 给出最新的提交
git rev-parse HEAD~1
--> 给出之前的提交
git rev-parse HEAD~n
我需要使用循环方法一一访问所有提交
:git rev-parse HEAD~i
我不能让它工作。
一个简单的 while 应该可以正常工作
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
终于设法获得了忽略主合并拉提交git rev-list origin/master.. --no-merges --count 上述命令返回值2,这是预期的开发分支上的提交次数的计数因为我在我的分支上做了 2 次提交,其余的是主合并提交。我已将此计数存储为局部变量 i = 2。我可以知道如何在以下命令中使用此变量吗?以下命令在按原样使用时会出错。基本上我想让命令使用 i = 2 的值。非常感谢
git rev-parse HEAD~i