如何获取特定分支的提交次数?
How to get the count of number of commits of a specific branch?
我想知道是否有办法计算在特定分支上完成的提交数。
我试过使用 rev-list
,但得到的计数不同。
PS C:\Dev\code\TestProj> git checkout master
Already on 'master'
Your branch is up to date with 'origin/master'.
PS C:\Dev\code\TestProj> git checkout -B "TESTBRANCH"
Switched to a new branch 'TESTBRANCH'
PS C:\Dev\code\TestProj> git commit -a -m "TESTBRANCH-TEST COMMIT"
[TESTBRANCH 3a98967] TESTBRANCH-TEST COMMIT
1 file changed, 1 insertion(+)
PS C:\Dev\code\TestProj> git rev-list --count --first-parent TESTBRANCH
9
PS C:\Dev\code\TestProj>
在上面的代码中,我只在我创建的新分支上进行了一次提交,我可以看到返回的计数是 9。我认为 Git 也在考虑其他一些修改。
有没有办法让提交计数仅为 1?
您的 rev-list
将一直走到第一个提交。如果TESTBRANCH
是从main
分支出来的,你可以试试:
git log --oneline TESTBRANCH ^main
在这种情况下,您需要使用从 master 到 TESTBRANCH 的提交范围。这将计算在 TESTBRANCH 上进行的所有提交,因为它与 master 不同:
git rev-list --count --first-parent master..TESTBRANCH
这个问题的答案应该是 1。
如果稍后拉取,并且 master 上有新的提交,您还可以计算自创建 TESTBRANCH 以来的提交次数,只需翻转范围内参数的顺序即可:
git rev-list --count --first-parent TESTBRANCH..master
<branch A>..<branch B>
的这种语法称为提交范围。有关更深入的解释,请参阅 this article on commit ranges,,尽管简短的摘要是:
<branch A>..<branch B>
指的是分支 B 上不在分支 A 上的所有提交。因此 master..TESTBRANCH
表示“TESTBRANCH 上的所有提交,不在主分支上”。
我想知道是否有办法计算在特定分支上完成的提交数。
我试过使用 rev-list
,但得到的计数不同。
PS C:\Dev\code\TestProj> git checkout master
Already on 'master'
Your branch is up to date with 'origin/master'.
PS C:\Dev\code\TestProj> git checkout -B "TESTBRANCH"
Switched to a new branch 'TESTBRANCH'
PS C:\Dev\code\TestProj> git commit -a -m "TESTBRANCH-TEST COMMIT"
[TESTBRANCH 3a98967] TESTBRANCH-TEST COMMIT
1 file changed, 1 insertion(+)
PS C:\Dev\code\TestProj> git rev-list --count --first-parent TESTBRANCH
9
PS C:\Dev\code\TestProj>
在上面的代码中,我只在我创建的新分支上进行了一次提交,我可以看到返回的计数是 9。我认为 Git 也在考虑其他一些修改。
有没有办法让提交计数仅为 1?
您的 rev-list
将一直走到第一个提交。如果TESTBRANCH
是从main
分支出来的,你可以试试:
git log --oneline TESTBRANCH ^main
在这种情况下,您需要使用从 master 到 TESTBRANCH 的提交范围。这将计算在 TESTBRANCH 上进行的所有提交,因为它与 master 不同:
git rev-list --count --first-parent master..TESTBRANCH
这个问题的答案应该是 1。
如果稍后拉取,并且 master 上有新的提交,您还可以计算自创建 TESTBRANCH 以来的提交次数,只需翻转范围内参数的顺序即可:
git rev-list --count --first-parent TESTBRANCH..master
<branch A>..<branch B>
的这种语法称为提交范围。有关更深入的解释,请参阅 this article on commit ranges,,尽管简短的摘要是:
<branch A>..<branch B>
指的是分支 B 上不在分支 A 上的所有提交。因此 master..TESTBRANCH
表示“TESTBRANCH 上的所有提交,不在主分支上”。