gitのmergeとrebaseについて

gitのmergeとrebaseはどちらも2つのブランチの履歴を統合する方法です。
使い始めた当初はmergeをメインに使っていましたが、使い分けることで作業が効率化できるようになりました。
mergeとrebaseの違いについてまとめていきます。
■git mergeとは
「git merge」はブランチに対して、別のブランチの変更内容を統合するためのコマンドです。
下記のような2つのbranchが存在し、現在のbranchがBの時にAを指定してmergeすると以下のようになります。
↓↓↓
Tortoisegitでログを確認すると下記のようになります。
■git rebaseとは
「git rebase」はブランチの変更を別のブランチに付け替えるためのコマンドです。
mergeと同様に、現在のbranchiがBの時にAを指定してrebaseすると以下のようになります。
↓↓↓
Tortoisegitでログを確認すると下記のようになります。
■git rebaseを使ったほうが良いケース
ローカルのブランチで作業している最中に先に進んだdevelopの変更をローカルのブランチに取り込みたい場合はmergeよりrebaseを使ったほうがログを見やすくなります。
また、競合の解消もmergeより解消しやすいかと思います。
■git rebaseの注意点
上記とは逆にdevelopをローカルブランチにrebaseしてしまうと、developの履歴がなくなりローカルブランチのものとなってしまいます。
■まとめ
rebaseをすると履歴が一直線になり見やすくなりレビューする際も見やすくなるので、mergeとrebaseの使い分けをルール化してチーム全体の作業効率の向上をしていきたいと考えています。
◆WEB会議/セミナーシステム『Szia』
https://www.ois-yokohama.co.jp/szia/
◆サーバサイドで動作するミドルウェア『ReDois』
https://www.ois-yokohama.co.jp/redois/
◆AIがトレンドトピックをもとに、読まれそうな記事タイトルを自動生成『AI Title Maker』
https://ai-title.ois-yokohama.co.jp/