開発を進めていると、他のブランチの変更を取り込みたいと思うことがよくあります。
git rebase
は、そのための強力なツールですが、使い方を間違えると開発ブランチを壊してしまうリスクもあります。
そこで、今回はバックアップブランチを作成してから rebase
を行う方法を紹介します。
ステップ1: バックアップブランチの作成
まずは現在のブランチの状態を確認しましょう。
git branch
次に、バックアップブランチを作成します。
git checkout -b backup/feature/awesome-feature
これで、もし何か問題が起きても元の状態に戻せるようになりました。
ステップ2: rebaseの実行
元のブランチに戻ります。
git checkout feature/awesome-feature
develop
ブランチの最新情報を取得します。
git fetch origin develop
そして、rebase
を開始します。
git rebase origin/develop
ステップ3: コンフリクトの解決
rebase
中にコンフリクトが発生することがあります。その場合は、指示に従ってコンフリクトを解決しましょう。
git add .
git rebase --continue
問題が解決できない場合は、以下のコマンドでrebase
を中止できます。
git rebase --abort
ステップ4: 変更のpush
rebase
が無事に完了したら、変更をリモートのブランチにpushします。履歴が書き換えられているため、--force
オプションが必要です。
git push origin feature/awesome-feature --force
共有ブランチで作業している場合は、--force-with-lease
オプションを使って他の開発者の変更を上書きしないようにしましょう。
git push origin feature/awesome-feature --force-with-lease
以上で、安全にrebase
を行う方法の紹介は終わりです。この方法を使えば、rebase
によるリスクを最小限に抑えつつ、開発ブランチを最新の状態に保つことができます。