おいて、ブランチを使った開発では避けても通れないブランチのマージ。merge」の仕様と基本的な使い方をまとめました。持っている変更内容をマージ(統合)するためのコマンドです。ここでの「コミットが持つ変更」とは、正確には「現在のブランチの履歴と、指定コミットの履歴とが分岐した地点から指定コミットまでに及ぼされた変更内容」という意味です。下記の図では黄色いコミットで発生した変更のことですね。基本的な仕様例を紹介します。運用においてはよく発生するケースではないでしょうか。異なるブランチをマージします。ブランチの状態、現在masterブランチをチェックアウトしている。HEADマージを実行することで、新しいコミットが作られます。HEADFast-forward(早送り)マージについてfast-forward(早送り)マージとは?もし、マージしたいブランチ(topic)が現在のブランチ(master)の直接的に先にす進んでいる場合、マージにより新しくマージコミットを生成する必要がありません。(そのコミットは、マージブランチ(topic)から見て、変更を含まない空のコミットとなるからです。ブランチの状態、現在masterブランチをチェックアウトしている。新しいコミットを作らずに、参照のみを移動してマージを完了します。これを「Fast-forward(早送り)マージ」と呼びます。-oこのふるまいを避ける場合「--no-ff」オプションを加えることで、強制的に新しいコミットを生成することも可能です。HEADマージコミットの取り消し方法マージコミットを取り消します。reset」を利用し、強制的にHEAD参照を、過去のコミットに移動してしまう方法です。すべてのHEADの移動履歴が表示される。使って、強制的に参照、インデックスと作業ツリーのすべての状態を戻します。HEAD@{1}これにより、ブランチ履歴を過去の状態に戻すことができました。取り消しに関しては、こちらの記事でも詳しく解説しています。