git pull origin masterとgit pull origin / masterの違い


283

違いは何であるgit pull origin masterとはgit pull origin/master


1
落ち着いてはほとんどそれをカバーしていますが、答えはあなたが決してすべきではないということですgit pull origin/master。[ローカルに保存された]リモートブランチをマージしたい場合はorigin/master、を使用してくださいgit merge origin/master
カスカベル

3
@Jefromi:git pullと比較してgit mergeを実行する方が常に優れている理由について説明できますか?
レイチェル

16
git pullはがgit fetch続くことを意味しgit mergeます。リモートからコンテンツをフェッチし、現在のブランチにマージします。しかしorigin/master、ローカルブランチです(リモートブランチの追跡)。マージしたい場合、何もフェッチする必要はありません。git pull origin/masterリモートから実際にフェッチしていないときは、誤解を招く恐れがあります。
カスカベル

有用な情報を提供してくれたJefromiに感謝します。それほど簡単ではない概念をかなり簡単に理解することは本当に役立ちます。
レイチェル

これを読んでいても混乱しているのorigin/masterは、ローカルに保存されているブランチで、マスターブランチをオリジンリモートでキャッシュします。
iheanyi

回答:


354

git pull origin masteroriginリモート、masterブランチから変更をプルし、ローカルのチェックアウトされたブランチにマージします。

git pull origin/masterローカルに保存されたブランチから変更をプルorigin/masterし、ローカルのチェックアウトされたブランチにマージします。origin/masterブランチは、基本的に最後から引き出されたものの「キャッシュされたコピー」であるoriginそれはgitの用語では、リモートブランチと呼ばれる理由です。これはやや混乱するかもしれません。

どのブランチを使用できるか、git branchおよびgit branch -r「リモートブランチ」を確認できます。


1
git pull origin master常にマスターブランチにマージする場合、たとえば、私のリポジトリ内の別のブランチにいて、上記のコマンドを実行している場合、現在のブランチをオリジンのリモート変更で更新するか、マスターブランチを変更で更新しますか?
レイチェル

4
@calmh:(git mergeしたがって、git pull)は常に現在のブランチにマージされます。現在のブランチ以外のものとマージするには、まずそれをチェックアウトしてください。
カスカベル

2
um ..「origin / master」と「origin master」の違いはわかりません。彼らは両方とも起源のマスターブランチです。実際にそれらが異なる場合の例を挙げていただけますか?
HASEN

69
git pull origin/masterこれが書かれたときは有効なコマンドだったかもしれませんが、今日(git 1.7.10.3)は失敗しますfatal: 'origin/master' does not appear to be a git repository(あるべきように-プルは常にリモートからプルするためです)。
user1338062

3
なぜgitはそれほど混乱するのですか?だから、全部で4つのリポジトリがありますよね?(1)リモート・リポジトリー、(2)ローカル・リポジトリー、(3)ステージング・リポジトリー、(4)ローカル・リモート(別名origin / master)がありますか?なぜgitは#4リポジトリを使用するのですか?
ムゲン

3

git pull origin masterリモートのマスターブランチからすべての変更をフェッチし、ローカルにマージします。通常はgit pull origin / masterを使用しません。次のようにして同じことを実行できますgit merge origin/master。オリジンのマスターブランチをローカルブランチに入れますgit pull origin/master。私の場合、エラーがスローされます。


1

git pull= git fetch+git merge origin/branch

git pullそして、git pull origin branchとしてのみ、すべての起源/ *後者の意志だけで「更新」の起源/ブランチやないという点で異なってgit pull行います。

git pull origin/branchgit fetch origin/branch無効なを実行しようとしているため、機能しません。

質問関連:git fetch + git merge origin / master vs git pull origin / master

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.