HOWTO · Git
Git Merge Master と Git Merge Origin/Master の違い
git merge master コマンドと git merge origin/master コマンドを区別します。
この記事では、git merge master コマンドと git merge origin/master コマンドの違いについて概説します。 両方のコマンドを使用して、master ブランチからの変更を統合します。
違いは、後で説明するように、いつ、どのように使用するかにあります。
各コマンドを定義し、そのワークフローを実行します。 これは、2つを区別するのに役立ちます。
git merge origin/master コマンド
git merge origin/master コマンドを使用して、上流の変更を master ブランチからローカル ブランチに統合します。 上流の master ブランチは、リモート リポジトリの master ブランチです。
例を見てみましょう。
git merge origin/master を使用するには、リモート リポジトリから取得する必要があります。 リモートの master ブランチがローカルの feature ブランチより先にあり、同じブランチを更新したい場合、どうすればよいでしょうか?
まず、git fetch コマンドを実行して、リモート リポジトリから変更をフェッチします。
$ git fetch
以下のコマンドを実行することで、リモートの master ブランチから直接ローカルの feature ブランチに変更をマージできます。
$ git merge origin/master
これは、ローカルの master ブランチでチェックアウトしながらプルし、feature ブランチに切り替えて、2つをマージするという従来の方法よりも短いルートです。
git merge master コマンド
git merge origin/master コマンドとは対照的に、git merge master コマンドは、ローカルの master ブランチからの変更を統合します。 例を見てみましょう。
master ブランチには関連するコミットがあるが、feature ブランチには存在しないと仮定すると、これらの変更をどのように取り込むのでしょうか?
それは簡単です。 以下に示すように、git merge master コマンドを使用します。
まず、feature ブランチに切り替えます。
$ git checkout feature
これで、2つのブランチをマージできます。
$ git merge master
上記から、git merge origin/master コマンドはリモートの master ブランチからの変更を統合するために使用され、git merge master コマンドはローカルの master ブランチからの変更を統合するために使用されると推測できます。