The git rebase command reapplies commits from the current branch onto another base tip, helping create a cleaner, more linear history when used appropriately.
Git の git rebase コマンドは、ブランチの履歴を整理するために使われる強力なツールです。
git rebase は、現在のブランチにあるコミットを、指定したブランチやコミットの先端を新しい土台として順番に再適用し、履歴を作り直す操作です。通常はマージコミットを増やさず、直線的な履歴に整理しやすくなります。git rebase main のように、編集画面を開かず、現在のブランチの対象コミットを指定した土台の上へ順番に再適用します。Git Bash
git switch feature-branch
git rebase main
feature-branch にあるコミットを、ローカルの main の先端を新しい土台として再適用します。リモートの最新状態に直接合わせたい場合は、先に git fetch origin で origin/main を更新し、git rebase origin/main のようにリモート追跡ブランチを指定します。Git Bash
git switch feature-branch
git rebase -i main
git rebase -i は、複数のコミットを編集、並び替え、統合、削除するためのインタラクティブリベースです。コミット履歴を整理したり、コミットメッセージを修正したりできます。
git rebase -i を実行すると、次のような編集画面が表示されます。
rebase todo
pick e5f6d3a First commit
pick a3c7e8b Second commit
pick 3b9d2b9 Third commit
この画面で、各コミットに対して以下のような操作が可能です。
pick (もとのままコミットを適用)reword (コミットメッセージを変更)edit (コミット内容を修正)squash (前のコミットとまとめる)fixup (前のコミットとまとめ、メッセージは破棄)drop (コミットを削除)git add ファイル名 で解決済みとして記録してから、git rebase --continue で続行します。中止したい場合は git rebase --abort、そのコミットを飛ばす場合は git rebase --skip を使います。git push が拒否されることがあります。必要な場合でも、単純な --force ではなく --force-with-lease を検討し、チーム内で共有してから実行します。