git push origin HEAD는 무엇을 의미합니까?


103

공식 가이드 에서 찾았습니다 .

git push origin HEAD

현재 분기를 원격에서 동일한 이름으로 푸시하는 편리한 방법입니다.

그러나 명령의 의미가 명확하지 않습니다. 왜 이런 효과가 있습니까?

나는 답을 찾을 수 없었습니다 ( 이 질문 은 문제를 다루는 것 같지만 제목은 오해의 소지가 있습니다).

답변:


131

HEAD현재 분기의 맨 위를 가리 킵니다. git그것에서 지점 이름을 얻을 수 있습니다. 따라서 다음과 같습니다.

git push origin CURRENT_BRANCH_NAME

그러나 현재 지점 이름을 기억 / 입력 할 필요는 없습니다. 또한 실수로 잘못된 원격 지점으로 푸시하는 것을 방지합니다.

현재 분기와 다른 분기를 푸시하려는 경우 명령이 작동하지 않습니다.


17
그것이 HEAD상징적 참조 라고 언급하는 것이 도움이 될 수 있으며 git symbolic-ref HEAD.
John Szakmeister 2014-04-23

무엇의 차이는 다음 git push origingit push origin HEAD?
Maciek

1
@MaciejD 브랜치 이름을 지정하지 않은 git push origin이 작동하지 않습니다. 중 당신은 지점 이름을 추가하거나 당신이있어 현재의 지점을 의미 HEAD 말
Schwarzie2478

2
실제로 git push origin유효한 명령입니다. 는 IF push.default힘내 구성 설정으로 설정 nothing한 후 git push origin"아무것도 (오류 아웃) 밀어하지"뜻에 따라 man git-config. 그러나 다른 push.default설정에는 다른 동작이 있습니다. 검색 push.default에서 man git-config. 또한 맨 위에있는 설명 섹션에서 " 명령 줄에서 푸시 할 위치 를 지정하지 않는 경우 "및 "명령 줄 에서 푸시 할 항목 을 지정하지 않는 경우 "를 검색합니다 man git-push(즉 man git-push, 아님 man git-config).
David Winiecki
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.