Git Pull と Git Pull Origin Master の違い

John Wachira 2024年2月15日
Git Pull と Git Pull Origin Master の違い

git pullgit pull origin master の違いについて説明します。 これらのコマンドを使用して、リモート リポジトリからローカル ブランチに変更を統合します。

ただし、後で説明するように、各コマンドの動作は異なり、ユース ケースも異なります。

git pullgit pull origin master の違い

git pull コマンドが 2つのコマンドを組み合わせていることはおそらくご存知でしょう。

  1. git fetch コマンド
  2. git merge Fetch_Head コマンド

したがって、git pull コマンドはリモート リポジトリから変更を取得し、それらをチェックアウト ブランチの先端にマージします。 コマンドが機能するには、ローカル ブランチにリモート追跡ブランチが必要です。

リモート追跡ブランチは、ローカル ブランチがプルして変更をプッシュするブランチです。 ブランチにリモート追跡ブランチがない場合、コマンドは失敗します。

一方、git pull origin master は、リモートの master ブランチから変更を取得し、現在立っているブランチに変更をマージします。

両方のケースの例を見てみましょう。

feature ブランチでチェックアウトされていると仮定しますが、ブランチにはリモート追跡ブランチがありません。 git pull コマンドを実行するとどうなりますか?

Git に以下のメッセージが表示されます。

git pull メッセージ

リモートの feature ブランチがない場合は、リモートの master ブランチから直接変更を取得できます。 ここで、git pull origin master コマンドの出番です。

コマンドを実行すると、次のようになります。

git pull origin master

これは feature ブランチのみを更新し、master ブランチは更新しないことに注意してください。 master ブランチでチェックアウトした場合、コマンドは master ブランチを更新します。

master ブランチを更新する場合は、master に切り替えて、以下に示すように git merge コマンドを実行します。

$ git merge Fetch_Head

Fetch_Head は、リモート リポジトリからフェッチされたものを追跡する参照です。

簡単に言うと、git pull および git pull origin master コマンドは、リモート リポジトリからの変更を現在のローカル ブランチに統合します。 git pull コマンドでは、ブランチにリモート追跡ブランチが必要です。

git pull origin master コマンドを呼び出すと、リモートの master ブランチから変更がフェッチされ、現在チェックアウトされているブランチにマージされます。

著者: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

関連記事 - Git Pull