這個問題在這里已經有了答案: 計算 Git 分支上的提交次數 (12 個回答) 昨天關閉。
我想弄清楚是否有辦法獲得在特定分支上完成的提交次數的計數。
我曾嘗試使用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?
uj5u.com熱心網友回復:
在這種情況下,您需要使用從 master 到 TESTBRANCH 的提交范圍。這將計算在 TESTBRANCH 上所做的所有提交,因為它與 master 不同:
git rev-list --count --first-parent master..TESTBRANCH
這個答案應該是1。
如果稍后拉取,并且 master 上有新的提交,您還可以通過翻轉范圍內引數的順序來計算自 TESTBRANCH 創建以來的提交次數:
git rev-list --count --first-parent TESTBRANCH..master
這種語法 of<branch A>..<branch B>稱為提交范圍。有關更深入的解釋,請參閱有關提交范圍的這篇文章,盡管簡短的總結是:
<branch A>..<branch B>指分支 B 上的所有提交,不在分支 A 上。所以master..TESTBRANCH意思是“在 TESTBRANCH 上的所有提交,不在 master 上”。
uj5u.com熱心網友回復:
您rev-list將一直走到第一個提交。如果TESTBRANCH從 分支main,您可以嘗試:
git log --oneline TESTBRANCH ^main
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/378110.html
上一篇:git裸倉庫:洗掉后提交的洗掉--mirror與洗掉除.git之外的所有內容后未暫存的洗掉
下一篇:如何從合并請求中洗掉檔案
