場景:
從master分支拉取分支 br1, 從分支br1 拉取分支 br2, 後來發現br1開發特性需要廢除, 僅適用br2分支特性即可.
解決方案:
一. br2分支commit不多, 直接在master分支 git cherry-pick br2獨有的提交即可.
二. br2分支提交較多, git cherry-pick 操作成本略大
1. 適用git diff的方式進行處理
(1). git diff br2 br1 > patch
(2), git checkout br1
(3). git apply patch
(4), 確認不定內容 提交到當前分支即可
若第(3)步失敗, 則執行 patch -p1 < patch, 會提示有被修改文件的備份 刪除即可.確認文件更新內容
2. 使用 git format-patch 方式
(1). git format-patch -M br1
(2). 按照生成的不定順序, 依次使用 git am 應用patch內容
這種方式有點類似於直接進行 git cherry-pick的操作, 後續繼續找尋直接一個patch的方式.