今回は、Gitの「リベース」について解説します。Gitを使っていると、ブランチが増えて履歴がゴチャゴチャしてしまうことがありますよね。そんなときに役立つのが「リベース」です。リベースを使えば、ブランチの履歴をきれいに整理できます。
まず、リベースが何かを理解しましょう。リベースは、簡単に言うと「履歴のやり直し」です。特定のブランチのコミット履歴を別のブランチの先頭にくっつける操作のことを指します。これにより、ブランチの履歴が一本のきれいな線になります。
リベースを使うと、複数のブランチがあるときも履歴が一本のタイムラインになります。これで、一目で変更の流れが分かるようになります。
リベースを使えば、マージ時に発生するコンフリクトも少なくなります。特に長期間放置していたブランチに対して使うと効果的です。
リベースをするためには、以下のコマンドを使います:
git checkout feature-branch
git rebase main
これで、feature-branch
の履歴がmain
ブランチの先頭に移動します。
リベースには注意点もあります。既に他の人と共有しているブランチに対してリベースをすると、履歴が変わってしまうので混乱を招くことがあります。基本的には、自分のローカル環境で使うか、まだ共有していないブランチに対して使いましょう。
ここでは具体的な手順を見ていきましょう。以下のような状況を考えてみます:
main
ブランチ:最新の開発履歴があるfeature-branch
ブランチ:新しい機能を追加しているこの場合、feature-branch
をmain
の最新履歴にリベースする手順は以下の通りです:
git checkout feature-branch
git rebase main
これで、feature-branch
がmain
ブランチの最新履歴上に移動します。もしコンフリクトが発生した場合は、ひとつひとつ解決していく必要があります。
リベース中にコンフリクトが発生した場合、Gitがどのファイルでコンフリクトが起きているかを知らせてくれます。そのファイルを編集して、コンフリクトを解決します。解決したら、以下のコマンドで変更をステージしてリベースを続行します:
git add
git rebase --continue
これでリベースが続行されます。すべてのコンフリクトが解決されると、リベースが完了します。
リベースを使うことで、ブランチの履歴を簡単に整理することができます。履歴がきれいに整うことで、チーム全体の作業もスムーズになります。