1. ホーム
  2. git

[解決済み] git pull と git pull origin master の違い [重複]。

2022-03-03 14:50:53

質問

この2つのコマンドの違いは何ですか?

git pull

そして

git pull origin master

解決方法は?

[編集] 2018年5月 git pull はもはやシェルスクリプトではなく、最近のGitではいくつかの細部が異なっています。 また、Pull には recursion オプションが追加され、サブモジュールでより便利に使えるようになりました。 この回答はサブモジュールを無視しています]。

git pull スクリプトは、このスクリプトを呼び出すための便利なメソッドです。 git fetch に続いて git merge (または git pull --rebase を呼び出すと git fetch に続いて git rebase ).

の最初の追加引数は git pull は、どのリモートを fetch 演算を行う。

git pull origin

から取得することを意味します。 origin . これを省略した場合、Git は現在のブランチの remote :

$ git branch
* master
$ git config --get branch.master.remote
origin

の第2引数(および追加引数)です。 git pull は、どのブランチにマージするのかを指定します。 これらは、リモートにあるブランチの名前です。 たとえば、新しいブランチを作成したとしましょう。 feature2 を追跡する origin/feature :

$ git checkout -b feature2 origin/feature

から取得する場合 origin に追加された新しいコミットをピックアップするために、その feature ブランチにマージし、自分のローカルの feature2 ブランチを作成します。

$ git pull origin feature

ブランチ名を省略した場合、git は現在のブランチの merge :

$ git config --get branch.feature2.merge
feature

複数のブランチ名を指定すると、Git は "octopus merge" を実行することに注意しましょう。 私の経験では、初めての人はたいていこの処理に驚きます。 git pull remote br1 br2 を実行します。 git fetch の後に、一連の個別の git merge -を各ブランチ上で実行する必要がありますが、そのようなことは起こりません。