我試圖在比 main 的另一個分支中找到自標記以來的提交次數(主要是創建標記的分支)。
我在這里檢查了幾個 q/a 建議 'git rev-list' 和 'git describe'(有很多標志的組合和不同的引數順序)沒有太大的成功,在我的情況下得到正確的數字......
對于我們的示例,我們有 2 個分支是main和dev。
在我們的作業流程中,我們用發布時的新版本標記 main。然后我們合并main到dev。從那里開始,我很想獲得提交的數量dev,因為這個版本/標簽只有.
假設我們剛剛標記main了“v1.2.3”并合并main到dev. 如果我更改一個檔案main并提交它,以下命令將產生“1”,這是完美的。
`git rev-list v1.2.3..HEAD --count`
現在,如果我結帳dev并在此背景關系中使用相同的命令,則會得到類似 17 的結果。在這種情況下,我想獲得 0 (或 1 表示合并條目)。
如果我然后在這里編輯/提交一個檔案dev并運行這個命令,我有 18 個; 1 是預期的。
如何“重設”這個計數器為0時,我合并main成dev從此開始計數?或者有什么好的引數可以使用?
我再次嘗試使用引數--first-parent/--no-merges等等;我可以減少數量,但永遠不會得到 0 或 1(1 可能用于合并的提交,我也可以接受)
謝謝
uj5u.com熱心網友回復:
這 17 個提交很可能是提交的兄弟v1.2.3,dev因為它main被凍結用于發布測驗。他們既不在v1.2.3歷史上,也不在歷史上。在這種情況下,它看起來像是git在告訴您自兩個分支的共同祖先以來的所有提交。
如果您從合并計算提交,而不是標簽,你會得到你要找零,但折扣那些17個來提交開發,并使其出現在你目前的狀態dev是v1.2.3,當它真的v1.2.3 17等提交。
示例回購:
* eb8a717 | HEAD -> dev | first commit to dev after main merged back in
* 2862ad6 | | Merge branch 'main' into dev
|\
| * 33cf7dd | tag: v1.2.3, main| patch to initial version
* | 9458df5 | | second commit to dev since branching
* | 53d6d29 | | first commit to dev since branching
|/
* 2ffc809 | | first commit
$ git rev-list --count v1.2.3...HEAD
4
$ git rev-list --count 2862ad6...HEAD
1
也許你要標記的合并提交的v1.2.4或v1.3.0或v2.0.0適當,并從該標簽,而不是算?
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/336976.html
標籤:混帐
