次の 2 つの場合を考えてみましょう。
ケース #1 (浅いクローン)。
$ git clone --depth 5 ssh://{REMOTE_URL}/project.git
...
$ git checkout fd459887439f2cf93725c2f4a1a39997e865a86d // it is just a latest commit (took it from "git rev-parse HEAD")
...
$ git branch
* (detached from fd45988)
master
$ git pull
Already up-to-date.
ケース #2 (--depth なしで複製)。
$ git clone ssh://{REMOTE_URL}/project.git
...
$ git checkout fd459887439f2cf93725c2f4a1a39997e865a86d // it is just a latest commit (took it from "git rev-parse HEAD")
...
$ git branch
* (detached from fd45988)
master
$ git pull
You are not currently on a branch. Please specify which
branch you want to merge with. See git-pull(1) for details.
git pull <remote> <branch>
したがって、違いは、最初のケースでは限られた数のコミットを複製し、2 番目のケースではすべてのコミットを複製することだけです。ブランチは、「git branch」の出力を示すように、どちらの場合も同じです。
質問: なぜ「プル」は最初のケースでは機能し、2 番目のケースでは機能しないのですか?