我需要使用git checkoutand 選項從現有分支創建一個新分支,start-point但我不確定如何正確確定它。從git log我需要找到一個在訊息中具有特定事務號的提交。例如從git log
..........................................
commit b91a725feea867e371c5488e9fe60ca4cd0e927f
Author: john.smith
Date: Tue Mar 15 11:54:50 2022 0100
Improve error messages for instrument creation
[AccuRev transaction: 20839205]
commit c4d1ebd3da59efa7223876b1de37960f2e6bcbff
Author: john.smith
Date: Fri Mar 11 16:52:04 2022 0100
Added new libraries
[AccuRev transaction: 20829020]
...............................
因此,例如,我需要查找包含此字串的訊息的提交(具有特定的事務編號值):[AccuRev transaction: 20829020]
所以兩個問題:
- 如何從所有這些特定的日志訊息中獲取該特定的日志訊息,
git logs以及如何檢索commit hash id該特定提交? git checkout -b branchName commitHashId執行命令從該特定起點創建新分支就足夠了嗎?
編輯: git log --grep嘗試過濾特定 ID 時沒有為我提供正確的結果:請查看示例:
git log --grep="[AccuRev transaction: 698102]"
commit f6d975e531b15c14683155a9e3ceca45d6a51854 (HEAD -> SoftBroker)
Author: stefan
Date: Mon Feb 21 10:57:34 2022 0100
SPRs ,,,JIRA Issues SOF-46,SOF-49,SOF-6782,SOF-6784 Promote pom files.
[AccuRev transaction: 20754456]
commit 0ee4ede74e3efe9d98a42ae5a6cb4c2641cd1384
Author: alek
Date: Mon Feb 7 17:08:17 2022 0100
SOF-6707: Account should be pre-selected after user login
[AccuRev transaction: 20706246]
commit 633a0f21584f5578aaac1848255aa850bc95b52a
Author: alek
Date: Mon Feb 7 17:06:18 2022 0100
JIRA Issue increasing version to 2022.1.1 and 2022.Q1.1
[AccuRev transaction: 20706239]
非常感謝
uj5u.com熱心網友回復:
Git 具有通過訊息內容簡單地命名提交的修訂語法。
git checkout -b mynewbranch ':/\[AccuRev transaction: 20829020\]'
需要反斜杠,因為[它是搜索運算式語言中的語法標記
uj5u.com熱心網友回復:
要查找具有特定資訊的修訂,您需要執行以下操作:
git log --grep=whatever-you-need-to-find
這應該會為您提供與您提供的正則運算式匹配的修訂串列。然后,這是關于檢查分支的問題。
git checkout some-revision-id不創建新分支。git 所做的就是去那個修訂版并放在作業樹上,你將在所謂的分離 HEAD上作業......換句話說,你將在沒有分支的情況下作業(非常好......一個git 具有的最佳功能......在一大堆強大的功能中)。如果要從該點創建分支,則應運行
git checkout -b some-new-branch some-revision-id
這將在該修訂版上創建新分支并在一次操作中將其簽出。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/447212.html
標籤:混帐
