質問: 「git pull origin mybranch」は、ローカルmybranch nをoriginより先にコミットします。どうして? 私は理解できないgit pullについて奇妙なことを観察しました。金曜日、私は地元の支部で働きました。 mybranchと呼びましょう。オフィスを出る前に、origin(私のgithubリポジトリ)にプッシュしました:git push origin mybranch。昨日、自宅でラップトップにpulledし、さらにコーディングを行ってから、変更をgithub(origin)に戻しました。今、私は仕事を再開し、昨日から私のマシンに変更を加えようとしました(週末には職場のローカルリポジトリに何も変更しませんでした)。git pull origin mybranch これにより、早送りマージが発生しました。これは問題ありません。その後、git statusを実行し、次のように言いました。# on branch mybranch # your branch is ahead of 'origin/mybranch' by 6 commits. # nothing to commit (working directory clean) え?週末に触れずに、元からプルしただけで6コミット先になりますか?そのため、git diff origin/mybranchを実行しましたが、差分はちょうどリモートから取得した6つの変更でした。git fetch originを実行することでのみこれを「修正」できました。from git@github.com:me/project af8be00..88b0738 mybranch -> origin/mybranch どうやら、私のローカルリポジトリにはいくつかの参照オブジェクトがありませんでしたが、どうすればそれができますか?つまり、プルは既にフェッチを行っており、そのブランチ以外には何もしていなかったので、git fetch originとgit fetch origin mybranchは同じ結果になるはずです。git pull originではなくgit pull origin branchnameを常に使用する必要がありますか?よくわかりません。
回答: git remote add name urlを使用して、すべてのリモート(元のクローンに付属するoriginを除く)を慎重に追加しますか? git configに追加されたばかりのときにこのバグを見ました。