次のようにすることで、現在のGitブランチの名前と一致するリモートブランチにプッシュしたりプルしたりできると教えられました。
git Push Origin HEAD
または
git pull Origin HEAD
以前は常に私のために働いていましたが、奇妙にうまくいかないことがあり、代わりにmasterブランチからのプッシュ/プルを延期します(プル時にマージが発生します...私がやりたいことではありません) )。次のようにブランチの名前を使用するだけで、現在のブランチから簡単にプッシュ/プルできることを知っています。
git pull Origin name-of-branch-i-want-to-pull-from
とにかく:
@abackstromによる深刻な支援のおかげで、問題を解決することができました。基本的に、この投稿は私の問題であり、解決策でした:
Gitブランチの名前はOrigin/HEAD-> Origin/master
ローカルを「再作成」/追跡するための正確なコマンドHEADブランチ/ポインタは正しく:
git remote set-head Origin -a
これがこの問題に遭遇した他の人を助けることを願っています。
HEADは実際にはブランチではありません。これは、現在チェックアウトしているコミットへのポインタであり、多くの場合ブランチを参照しますが、git checkout <sha>
またはgit checkout <tag>
のようなことをすると、HEAD参照ブランチに関連付けられていない直接コミット-これは「切り離されたヘッド」状態と呼ばれ、通常、そのような状態に入るとgit checkout
から警告が表示されます。その状態では、プッシュ/プルHEADはブランチにいないので意味がありません。