git branch -r" を実行したときに "origin/HEAD" が表示されるのはなぜですか?

git branch -rを実行すると、なぜorigin/HEADがリストアップされるのでしょうか?たとえば、GitHub にあるリモートリポジトリに master と awesome-feature という 2 つのブランチがあるとします。git cloneでそれを取得し、新しいディレクトリに移動してブランチをリストアップすると、このように表示されます。

$ git branch -r
origin/HEAD
origin/master
origin/awesome-feature

というような順番で表示されます(α版?この例は、無実のレポの身元を隠しておくためのフェイクです)。では、HEADビジネスとは何でしょうか?最後に「押した」人が「押した」ときに「頭」を向けていたものなのでしょうか?それはいつも、その人が「押した」ものが何であったかになるのではないでしょうか?HEADは動き回るものです...なぜ私が他のマシンで誰かのHEADが指したものを気にしなければならないのでしょうか?

私はちょうどリモートトラッキングなどについて理解しているところなので、これは1つの長引く混乱です。ありがとうございます。

EDIT: 私は、専用のリモートリポジトリ(GitHubのように、誰もsshで入ってそのコードで作業することはなく、プルやプッシュなどだけ)は、基本的に作業コピーが存在しないので、HEADを持たないし持つべきでもないという印象を持っていました。そうではありませんか?

あなたは正しい、push to 専用リモートリポジトリは 'bare' つまり、作業ディレクトリがないときにずっとうまくいくのです。 Git's のアーキテクチャは、パッチまたは pull (fetch) による更新のために設計されており、これは分散型 VCS では理にかなったものです。ドキュメントにあるように、現在チェックアウトされているブランチにプッシュすると、 "unexpected results" となる可能性があります。

HEADは、有効なリポジトリの要件の一部です。Git Repository Layoutには、その一部が書かれています。

HEAD

A symref (see glossary) to the refs/heads/ namespace describing the currently active  
branch. It does not mean much if the repository is not associated with any working tree  
(i.e. a bare repository), but a valid git repository must have the HEAD file; some  
porcelains may use it to guess the designated "default" branch of the repository  
(usually master). It is legal if the named branch name does not (yet) exist.

ですから、たとえ "it does not mean much... &quot であっても、ブランチリストの一部として HEAD を見ることになります。

解説 (3)

リモートリポジトリの現在チェックアウトされているブランチ(masterかもしれないし、そうでないかもしれない)を**指し示すHEADが常に存在します。リモートリポジトリにさえ、現在のブランチがあります。通常それは master であり、私の頭の中ではそれを変更したい理由は思いつきませんが、変更することは可能です。

解説 (2)

私の推測では、誰かがブランチをプッシュして、それをHEADと呼んだのではないでしょうか。

git push origin HEAD
解説 (3)