普段git
を使っていると,カジュアルにブランチを切りまくって開発を進めることになりますが,ブランチを切るべき元ブランチを間違った経験はないでしょうか?例えば以下のようなコミットログになる場合です.
* hotfix | * | * develop | * | * release |
新バージョンのリリース後,順調に開発を続けていましたがユーザからのフィードバックでリリースバージョンにバグがあることが判明することはよくあります.
そういう場合,時期バージョンの前にメンテナンスバージョンをリリースすることになるので,バグを修正するブランチを作成します.しかし,hotfix
はrelease
から派生すべきブランチですが,今日は眠かったので間違ってdevelop
ブランチから派生させてしまいました.
これは困った.目的としていたのは以下です.
* hotfix | | * develop | | | * | / * release |
このhotfix
をrelease
につけかえるには色々手段が考えられますが,rebase --onto
を使うと便利です.
git rebase --onto release develop hotfix
これによって,hotfix
がrelease
から派生したブランチに変更され,develop
-hotfix
間にあるコミットが適用されます.
rebase --onto
を知るまで,こういう場合がんばってreset
してはstash
してコミットを目的のブランチに移動していました.これからはそんな泥くさいことをする必要はなさそうです.
- 作者: 濱野純(Junio C Hamano)
- 出版社/メーカー: 秀和システム
- 発売日: 2009/09/19
- メディア: 単行本
- 購入: 31人 クリック: 736回
- この商品を含むブログ (153件) を見る