git rebase と git merge の違い

git mergeとgit rebaseの違いを整理するgit のコマンドである
rebase と merge の違いって
けっこう戸惑うことあるよね。

もちろん戸惑いまくりました。(笑)

いろんなサイト見てもなんか枝木っぽっくて
イマイチ理解しづらいから自分が見て分かるようにしてみよう。

広告

ブランチとコミットのイメージ

とりあえずイメージするのは枝よりコップの方が自分はピンとくる。

  • ブランチはコップ
  • ブランチのイメージはコップ

  • コミットはコップに貯まる水
  • コミットはコップに貯まる水のイメージ



さてマージとリベースの違いを理解しよう。


git merge

こんな感じ

たぶんこんな感じ

たぶんこんな感じ

git rebase

こんな感じ

たぶんこんな感じ

たぶんこんな感じ

PDFになってた

イラストっぽくなれば分かりやすくて良いなって思って手を動かしてたらスライドが出来てた。
参考にでもなればどうぞ↓
とgit-rebaseの違いを整理する.pdf

そういえば

git merge と git rebaseにはそれぞれメリットどデメリットがあります。
マージは、
簡単な操作、統合されるブランチのコミットを改変しない。
でも、履歴が複雑になることがある。

リベースは、
不要なコミットが入り込むことがないからシンプルになる。
でも、競合した時に結構めんどくさい。



これぐらいでいいかな。
今後は惑わずに済みそうだ。

もっといいアイデアとかあったら教えてください。
あと違ってたら教えてくださいね。



じゃあね~