[英]Apply commit to multiple release branches - Git Rebase or Cherry-Pick?
我正在處理一個帶有主分支的項目,當然 :P 和隨着時間的推移創建的多個發布分支。 我使用的版本控制是 Git,我一直在尋找一種方法來將在一個發布分支中進行的錯誤修復(例如)應用到其他發布分支,如果可能的話自動。 IE..
--------------------------Master
| | |__v3
| |__v2
|___v1
|____bugfix
如果我修復了在 v1 中發現的錯誤,並且需要在 v2 和 v3 中應用相同的修復(並且只有修復),有沒有一種方法可以在 Git 中方便地做到這一點?
我是 Git 的新手,但認為我可以選擇提交並應用它,但我想知道分支是否需要在層次結構中直接相關? 是否可以從 v1 下的“錯誤修復”中挑選或重新調整到 v2 和 v3? (或 v3 到 v2 等)Afaik,rebase 將重播所有提交,所以我認為cherry-pick 是我正在尋找的,但我不確定如何實現這一點。 我看過從子分支到父分支的櫻桃挑選的帖子。 我試圖做的可能嗎?
干杯。
如果錯誤修復是單個提交,或一系列提交,您可以使用cherry pick。
您的錯誤修正將是一次提交,而 sha 是 SHA1
git checkout v2
git cherry-pick SHA1
如果是多次提交,則在第一次提交錯誤修復之前找到提交 sha1,以及錯誤修復 SHA2 的最后一次提交 sha
git checkout v2
git cherry-pick SHA1..SHA2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.