[Git] ブランチをマージする

ブランチAで作成/変更した内容を、ブランチBに反映(結合、統合)することをマージと言います。

git merge

コマンドはgit merge [統合したいブランチ名] になります。

以下の例ではdevelopブランチで作成した内容を、masterブランチに反映しています。

$ git checkout master
$ git merge develop
Merge made by the 'recursive' strategy.
 conf.php       |  9 ++-------
 model/base.php | 57 +++++++++++++++++++++++++++++++++++----------------------
 2 files changed, 37 insertions(+), 29 deletions(-)

最後にpushしてリモートに送信すれば作業完了です。

git rebase

gitには git merge の他に git rebase と呼ばれるコマンドがあり、こちらでも同様に作成・変更した内容をマージすることが可能です。ファイルに与えられる影響だけ見るとmergeもrebaseも変わりありません。では何が違うのでしょうか?
※ToDo あとで図を交えて追記する

トラブルシューティング

更新が衝突したら?

※ToDo あとで追記する

参考