Git rebase は、Git の強力なツールの一つで、コミット履歴を整理するのに役立ちます。特に、プロジェクトでクリーンなコミット履歴を維持することが重要な場合に便利です。この記事では、Git rebase の基本的な使い方と、実際のワークフローでの活用方法を説明します。
Git Rebaseの基本
Git rebase は、ブランチのベースを移動または「リベース」することで、マージよりもクリーンな履歴を作成します。具体的には、指定したブランチのコミットを一時的に取り除き、現在のブランチの先頭に再適用します。
活用例1: フィーチャーブランチの更新
開発中にメインブランチ(例えば main
)が更新された場合、自分のフィーチャーブランチ(例えば feature
)に最新の変更を取り入れたいことがあります。この場合、rebase を使用して feature
ブランチを最新の main
ブランチに再ベースすることが推奨されます。
bashCopy code
# main ブランチに切り替え
git checkout main
# リモートの変更を取得
git pull origin main
# feature ブランチに切り替え
git checkout feature
# feature ブランチを main ブランチの最新状態にリベース
git rebase main
この操作により、feature
ブランチの変更が main
ブランチの最新の変更の上に適用され、マージコンフリクトを解決しやすくなります。
活用例2: コミット履歴の整理
開発中に多くの修正や小さな変更をコミットとして積み重ねていくと、履歴が乱雑になることがあります。ここで rebase のインタラクティブモードを利用して、コミット履歴をクリーンに保つことができます。
bashCopy code
# 最近の5件のコミットを整理する
git rebase -i HEAD~5
このコマンドを実行するとエディタが開き、「pick」、「squash」、「fixup」などのオプションを使ってコミットを統合したり、メッセージを編集したりすることができます。
注意点
- Rebase の操作は既存のコミット履歴を改変するため、共有されているブランチでの使用は避け、個人のローカルブランチやチーム内での合意がある場合に限られます。
- コンフリクトが発生した場合は、それを解決してから
git rebase --continue
を実行する必要があります。
Git rebase は、使いこなすと非常に強力なツールです。上記の活用法を参考にしながら、より効果的なバージョン管理を行ってください。
関連記事