LoginSignup
6

More than 5 years have passed since last update.

git mergeとrebaseの違い

Posted at

gitには分岐した2つのブランチを統合する方法としてmergeとrebaseという2種類のコマンドが用意されています。この時、mergeとrebaseにはどんな違いがあるのか調べてみました。

mergeの場合

git merge <branch>
・指定したブランチでの変更を現在のブランチに統合。
・新たにマージコミットを作って指定したブランチでの変更を合流させるイメージ。
・指定したブランチのコミットハッシュ値は改変されない。

rebaseの場合

git rebase <branch>
・指定したブランチの上に現在いるブランチの変更履歴をくっつける。
・分岐していたブランチが一本になりログが見やすくなる。
rebaseしたブランチのコミットハッシュ値が改変される

rebaseでは、リベースするブランチのコミットのハッシュ値が変更される点に注意が必要です。

おわりに

履歴をどのように保ちたいのかを意識することによって、ブランチを統合する際にmergeとrebaseどちらを使うべきか判断出来ると思います。両者のコマンドの違いを理解し、状況に応じてうまく使い分けていきましょう。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6