git rebase --ontoが便利すぎる件

使用バージョン

% git --version    
git version 1.5.4.3

ヘルプから抜粋

% git rebase --help

のヘルプから抜粋すると、

       Here is how you would transplant a topic branch based on one branch to another, to pretend that you forked the topic branch from the latter branch, using rebase --onto.

       First let's assume your topic is based on branch next. For example feature developed in topic depends on some functionality which is found in next.

               o---o---o---o---o  master
                    \
                     o---o---o---o---o  next
                                      \
                                       o---o---o  topic

       We would want to make topic forked from branch master, for example because the functionality topic branch depend on got merged into more stable master branch, like this:

               o---o---o---o---o  master
                   |            \
                   |             o'--o'--o'  topic
                    \
                     o---o---o---o---o  next

       We can get this using the following command:

           git-rebase --onto master next topic
       Another example of --onto option is to rebase part of a branch. If we have the following situation:

                                       H---I---J topicB
                                      /
                             E---F---G  topicA
                            /
               A---B---C---D  master

       then the command

           git-rebase --onto master topicA topicB
       would result in:

                            H'--I'--J'  topicB
                           /
                           | E---F---G  topicA
                           |/
               A---B---C---D  master

       This is useful when topicB does not depend on topicA.

こんなことが出来てしまう。便利杉。
ちなみにrebaesしたあとpushするときは一旦リモートのブランチを削除しないといけない点に注意。

リモートのブランチを消すには

git push remote :remote_branch

のようにする。