質問: ローカルリポジトリのHEADは、チェックアウトされている現在の作業対象を示していると思います。 しかし、リモートリポジトリのHEAD(例えばorigin/HEAD)は、何を表しているのかがわかりません。 これは、何のためにあるのでしょうか?
回答: リモートレポジトリの`HEAD`は、そのリモートレポジトリのデフォルトのブランチを表します。これが設定されていると、リモートレポジトリのレポジトリ名だけ指定したときに、そのデフォルトブランチが指定されたものとして振る舞います。 例えば、`origin/HEAD`が`origin/master`を指しているとき、`git checkout -b test origin`は、`git checkout -b test origin/master`と同じ意味になります。デフォルトブランチが指定されていない場合、上記のコマンドは(`origin`というブランチがない限り)エラーになります。 リモートレポジトリの`HEAD`は、`git remote set-head`コマンドで指定できます。