2015gitGitHubGit開発を行っていると、こんなことありませんか。Requestを送るあるあるですよね。rebaseを知らない頃の僕は以下の方法で解決していました。Requestを送ることができます下の図で言うとCからGへmergeコミット(この際、コンフリクトを解消)GからFへmergeコミット(プルリクエスト)となります。rebaseコマンドを使うことでこの2回のコミットを1回に減らすことができますrebaseコマンドrebaseコマンドを使うことで、現在のブランチが生えているポイントをmasterの最新のコミットに変更することができます。図で言うならば下図の状態がこうなります。この際、コミットは1回も増えていません。ここからプルリクを出し、mergeされると下図のようになります。ローカルのmasterを最新の状態にするまずはrebaseするmasterブランチを最新の状態にします。この際、ブランチがmasterに切り替わっていないと開発ブランチにmergeしようとしてしまうので注意してください。rebaseコマンドを叩く開発ブランチに戻り、rebaseコマンドを叩きます。この際、コンフリクトが発生しなければ手順は終了です。logあたりで履歴を見て見てください!当然、コンフリクトが起こることもあるので、その場合を次で説明します。--continueします。これをコンフリクトが消えるまで繰り返します。ここでcommitしてしまうとやり直しになってしまうので気をつけてください。--abortを叩けばオッケーです。