ドキュメントによると、git pullはgitフェッチを実行してからgitマージを実行しますが、その場合、 git pulloriginmasterを実行するとgitfetchorigin masterを実行する必要がありますか?ただし、そうしているようには見えません。これが例です。
私のリモートオリジンマスター(私の場合はGitHub上)に次の履歴があるとします。
commit 1111111 : my first commit
commit 2222222 : a commit from someone else
そして、私は次のショーをしているので、ローカルで最初のコミットしかありません
git checkout master
git log --pretty=format:'%h' -n 1
1111111
git checkout origin/master
git log --pretty=format:'%h' -n 1
1111111
ここからプルを実行し、次のように結果を確認します。
git checkout master
git pull origin master
git log --pretty=format:'%h' -n 1
2222222
git checkout origin/master
git log --pretty=format:'%h' -n 1
1111111
ご覧のとおり、プルは実際にはリモートオリジンからの新しいコミットでマスターブランチを更新しましたが、ローカルオリジン/マスターはまだ元の場所にあります。私に次のことを強制する
git fetch origin master
git checkout origin/master
git log --pretty=format:'%h' -n 1
2222222
これはgitpullの正しい動作ですか、それとも何かが正しく構成されていない可能性がありますか?git pull manページを調べたところ、これを示唆するものは何も見つかりませんでしたが、見逃した可能性があります。