29980


ローカルリポジトリのHEADは、チェックアウトされている現在の作業対象を示していると思います。  
しかし、リモートリポジトリのHEAD（例えばorigin/HEAD）は、何を表しているのかがわかりません。  
これは、何のためにあるのでしょうか？


CC BY-SA 3.0
2016-10-29T01:42:13.137
29969
2016-10-29T07:54:11.347
19327
question
git
gitにおいて、リモートリポジトリのHEADは、何のためにあるのでしょうか？


リモートレポジトリの`HEAD`は、そのリモートレポジトリのデフォルトのブランチを表します。これが設定されていると、リモートレポジトリのレポジトリ名だけ指定したときに、そのデフォルトブランチが指定されたものとして振る舞います。

例えば、`origin/HEAD`が`origin/master`を指しているとき、`git checkout -b test origin`は、`git
checkout -b test
origin/master`と同じ意味になります。デフォルトブランチが指定されていない場合、上記のコマンドは（`origin`というブランチがない限り）エラーになります。

リモートレポジトリの`HEAD`は、[`git remote set-head`](https://git-scm.com/docs/git-
remote.html)コマンドで指定できます。


CC BY-SA 3.0
2016-10-29T07:54:11.347
29980
2016-10-29T07:54:11.347
3066
29969
answer