2

git ブランチを作成し、オリジン マスターにプッシュしました。今私がするとき、それは私にgit branch --all表示されませんremotes/origin/HEAD --> origin/master。ただし、すべての git 操作を実行できます。

  • これは期待されていますか?
  • このエントリがある/ないの背後にあるロジックは何ですか?

編集:

私が実際に行ったことには混乱があるようです。p4 からレポをインポートしました シーケンスは次のとおりです。

 1. git init 
 2. ../git/git-p4.py clone --detect-branches //projects/<my_project_path_in_p4>
 3. git checkout -q -b master refs/remotes/p4/<my_project_path>
 4. git add --all
 5. git commit -m "Initial Commit"
 6. git remote add origin <my_git_path>
 7. git push origin master

そして、 git branch --all を実行すると、その特定のエントリが表示されません:

* master
remotes/origin/master
remotes/p4/workflow_manager/workflow_manager-15.3.0

** 2 番目の編集:**

同じブランチを複製するとgit branch --allremotes/origin/HEAD --> origin/master. 予想されるクローン作成後の出力は次のとおりです

* master
remotes/origin/HEAD -> origin/master
remotes/origin/master

だから今、私はさらに混乱しています:)

4

2 に答える 2

2

なぜremotes/origin/HEAD欠落しているのですか?

経由でマシンから削除できた可能性がありますgit remote set-head -d origin。あなたはそうしなかったようですね。

どうすれば元に戻せますか?

いずれにせよ、実行することで元に戻すことができますgit remote set-head -a。これにより、リモートにその決定を依頼しHEAD、ローカルを適切に更新します。

リモートの欠落がHEAD予想されますか?

いいえ、それは予期されていません。

なぜ私たちは持っているのremotes/origin/HEADでしょうか?

remotes\origin\HEADリモートのデフォルト ブランチを示します。ロジックは、originそれ以外の場合はいつでも省略形として使用できるということですorigin/master。たとえば、 とgit log origin/master同等になりgit log originます。

関連項目

https://www.kernel.org/pub/software/scm/git/docs/git-remote.html

于 2015-02-25T16:18:29.713 に答える