git push origin HEADはどういう意味ですか?


102

私は公式ガイドで見つけました:

git push origin HEAD

現在のブランチをリモートの同じ名前にプッシュする便利な方法。

ただし、コマンドの意味はわかりません。なぜこのような効果があるのですか?

私は答えを見つけることができませんでした(この質問は問題を解決するようですが、タイトルは誤解を招きやすいです)。

回答:


129

HEAD現在のブランチの先頭を指します。gitそこからブランチ名を取得できます。だからそれは同じです:

git push origin CURRENT_BRANCH_NAME

ただし、現在のブランチ名を覚えておく必要はありません。また、誤って間違ったリモートブランチにプッシュするのを防ぎます。

現在のブランチとは異なるブランチをプッシュしたい場合、コマンドは機能しません。


17
これはHEADシンボリックな参照であり、で確認できますgit symbolic-ref HEAD
John Szakmeister 2014

どのような違いは次のとおりですgit push origingit push origin HEAD
Maciek

1
@MaciejDブランチ名を指定しないgit push originは機能しません。あなたがにいるあなたは、ブランチ名を追加するか、現在のブランチを意味し、HEADを言うのいずれか
Schwarzie2478

2
実際にgit push originは有効なコマンドです。場合はpush.defaultGitのコンフィグ設定に設定されnothing、その後git push originによると、「(エラー出力)何も押さない」だろうman git-config。ただし、他のpush.default設定には他の動作があります。で検索push.defaultman git-configます。また、を検索「コマンドラインが指定されていない場合はどことプッシュする」「コマンドラインが指定されていない場合はの上部に記述セクションにプッシュする」man git-push(その者man git-push、ではありませんman git-config)。
David Winiecki
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.