での解決策を提案しますrebase onto
。次のレポがあるとします。
user@HOST c:/_TEMP/FOO (AIOEC-393) $ git lga
* 8c2d5c5 - (HEAD, AIOEC-393) commit5 (Yanflea 2 minutes ago)
* 3c20e52 - commit4 (Yanflea 2 minutes ago)
* c5383af - commit3 (Yanflea 2 minutes ago)
* fb11e98 - commit2 (Yanflea 2 minutes ago)
* e019261 - (develop) commit1 (Yanflea 2 minutes ago)
* 0cfe064 - (master) Initial commit (Yanflea 2 minutes ago)
そして、 commit2AIOEC-393
を除くブランチからのすべてのコミットが必要です。
'temp' ブランチに移動しましょう (AIOEC-393
変更されないようにします):
$ git checkout -b develop-target
commit2をピボットとして使用してrebase onto
コマンドを使用します。
$ git rebase --onto develop fb11e98 develop-target
ログを見てみましょう:
user@HOST c:/_TEMP/FOO (develop-target) $ git lga
* 7bcb162 - (HEAD, develop-target) commit5 (Yanflea 2 minutes ago)
* 3c89459 - commit4 (Yanflea 2 minutes ago)
* e6ed5f7 - commit3 (Yanflea 2 minutes ago)
* e019261 - (develop) commit1 (Yanflea 2 minutes ago)
* 0cfe064 - (master) Initial commit (Yanflea 2 minutes ago)
develop
からに早送りするだけですdevelop-target
(そして を削除しdevelop-target
ます):
$ git checkout develop
$ git rebase develop-target
$ git branch -d develop-target
ログ:
user@HOST c:/_TEMP/FOO (develop) $ git lga
* 7bcb162 - (HEAD, develop) commit5 (Yanflea 2 minutes ago)
* 3c89459 - commit4 (Yanflea 2 minutes ago)
* e6ed5f7 - commit3 (Yanflea 2 minutes ago)
* e019261 - commit1 (Yanflea 2 minutes ago)
* 0cfe064 - (master) Initial commit (Yanflea 2 minutes ago)