質問: なぜ、マジットのプル操作の動作が異なるのですか? ここでの話は、私たちのワークフローでは、私たちのセントラルリモコン(多くの用途で使用されていますが、特に配備とマニュアルの一環として、奇妙な数のブランチを使用するという作業で `magit` テストプロセス)。私の地方開発の目的のために、私はこれらの無関係な参照のほとんどを最新に保つ必要はありません。 `magit` を採用する前に、git磁器を使用するときは、時間を節約してレポを残すために、特定の `pull` コマンドと `fetch` -Cluttered。たとえば、 `master` を更新したい場合は、通常は ``` git checkout master git pull origin master git checkout - ``` 私が `magit` を採用したとき、私は最初に( `magit-pull-from-upstream` を使って)引っ張っていく所要時間に悩まされました。時間が経つにつれて、 `magit` が `git pull origin` コマンドを使って自分の`を更新していた( `magit-process` > master` ブランチに移動します。そのコマンドは、マスターを更新するだけでなく、太陽の下のすべてのリモートブランチをフェッチします(これは私が必要としない無意味な参照の多くです)。 push-to-remoteを設定した後で、代わりに `magit-pull-from-pushremote` を使用するように切り替えることで、この問題を自分で解決しました(つまり、ここで解決策を探しているわけではありません)。それは明らかに、 `git pull origin master` を使用しています(私は他のコマンドから得ると思います)。 私はこれらの2つのコマンドの異なる動作の説明を探しています。なぜ `git pull origin` を生成し、 `git pull origin master` を生成するのでしょうか?なぜ、(私の意見では客観的にもっと役に立つ) `git pull origin master` をしないのでしょうか?
回答: `magit-pull-from-upstream` does not explicitly specify the remote branch because if we did that, then tags that point to commits that are being pulled would not pulled along with the branch (i.e. the commits and the branch ref). しばらくの間( `2?`から `2.6.2` )、リモートブランチは安全上の理由から明示的に指定されていましたが、上記の問題を解決する。 `magit-pull-from-pushremote` does specify the remote branch because in that case it has to be specified or it might pull from `branch.NAME.merge` (i.e. the upstream) instead of the branch "with the same name as the local branch". gitのdwim pullコマンド( `git pull` または `git pull REMOTE` )と拡張機能 `magit-pull-from-upstream` によって、 >、 `remote.NAME.fetch` を設定します。