1. ホーム
  2. git

[解決済み] git branch -r を実行すると、なぜ "origin/HEAD" と表示されるのですか?

2022-05-03 04:33:42

質問

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

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

あるいはその順番は問わない(alpha? この例は、無実のレポの正体を伏せるためのフェイクです)。では HEAD ビジネス?それは、最後の人が push は、その HEAD を指したのでしょうか?それは常に彼らが持っていたものではありません push を編集したのですか? HEAD が動き回る......なんでそんなこと気にするんだろう。 HEAD を別のマシンで指したのですか?

リモートトラッキングなどについては、まだ理解できたばかりなので、これが一つの長引く混乱です。ありがとうございます。

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

解決するには?

ロビンスト が正しいです。

git では、どのブランチをデフォルトでチェックアウトするか (つまり clone したとき) を選択することができます。デフォルトでは origin/HEAD がそれを指し示します。

GitHubで。 これを変更することで を GitHub リポジトリの管理者設定に追加します。また、コマンドラインから次のコマンドを実行することもできます。

git remote set-head origin trunk

を使用して完全に削除することもできます。

git remote set-head origin -d

. Switch Branches」のドロップダウンを見てみましょう。 trunk がチェックされているので origin/HEAD に続く trunk .