- 更新日: 2022年06月29日
- 公開日: 2017年02月22日
3分で理解できる!git-rebaseとmergeとの違いまとめ
git ビギナーを悩ませる merge(マージ) と rebase(リベース)。どちらもブランチ元に統合する機能で、しかも rebase の方はコミットがキレイになる、と巷では持てはやされています。 しかし、間違った方法で rebase を使うと、みんなから嫌われる可能性もあります。今回はそんな rebase 機能についてご紹介させて頂きます。
Gitビギナー向け!git rebaseとは
git rebase(リベース)とは
img : The House Of Hades
git rebase とは、作業が完了したブランチを分岐元のブランチにくっつける時に使う機能の一つです。 内容としては、作業ブランチを分岐元(master 等)にくっつける手配となりますので、くっつけた順番でコミットが記録されます。そのため後でコミットを確認した時(git log)に見やすい特徴があります。
git rebase の注意点
通常は分岐先ブランチで分岐元(master)につなぐ作業を行いますが、その逆、つまり分岐元(master)で分岐先ブランチをつなぐ作業を行うととんでもない結果を招きます。 それはブランチが消えて、分岐元(master)のみになることです。これをやってしまうと、間違いなくみんなから嫌われるので要注意です。 _
rebase の間違った例
merge(マージ)とrebase(リベース)の違い
ブランチの結合には、merge と rebase の2つの方法があります。 rebase に比べて merge の方は、ザックリとした結合方法で、たくさんのブランチも一度に master に結合することができます。ただし merge で結合した場合、ブランチのコミットが全て記録されません。 プロジェクトの流れを正確に把握しようと思うとコミットが残る rebase の方がオススメといえます。
rebaseの場合のコマンド例 | merge の場合のコマンド例 |
git checkout 分岐先のブランチ1 git rebase master git checkout 分岐先のブランチ2 git rebase master |
git checkout master git merge 分岐先のブランチ1 git merge 分岐先のブランチ2 |
rebase と merge の使い分け
rebase の方が好ましい場合
プロジェクトメンバーが Git に慣れていて、記録を正確に残したい場合は rebase の方が好ましいです。 またメンバーが社外にいる場合は、コミュニケーションが取りにくいので rebase でコミットを残していく方が好ましいと考えられます。
Merge の方が好ましい場合
プロジェクトメンバーが Git に慣れていない場合、merge の方が賢明でしょう。git コミットが残らない分、メールやチャットでコミュニケーション部分をリカバリーする必要があります。\Webサイト担当者としてのスキルが身に付く/
まとめ
基本的には rebase の使い方を間違えると、ブランチが消える、という点を頭に叩き込んでおけば大丈夫と思います。 これでプロジェクト・リーダーから git の方針が出てもビビることなく、仕事に打ち込めますよね。
- この記事を書いた人
- オシママサラ