簡體   English   中英

將提交應用於多個發布分支 - Git Rebase 還是 Cherry-Pick?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM