참조 스펙을 사용하여 Git 태그를 지점으로 푸시하는 방법은 무엇입니까? 태그 1.0.0를 리모컨에 밀어 붙이고 싶습니다master

예를 들어 태그 1.0.0를 리모컨에 밀어 붙이고 싶습니다master 지점으로 .

나는 지금 다음을하고있다 :

git push production +1.0.0:master

1.0.0태그내부의 코드master가 원격 저장소의분기로 푸시 되기 때문에 푸시를 강제하고 싶습니다 .

내가 뭘 잘못하고 있죠?

업데이트 # 1

Git 리포지토리가 있는 서버에 SSH를 실행 git branch -l하면 master분기가 표시 되지 않습니다 .

업데이트 # 2

git tag -l원격 Git 리포지토리 내부에서 실행 한 후에 master는 다음과 같은 내용 이 표시됩니다.

git push production 1.0.0:master

실제로 태그를 푸시하고 새 분기가 아닌 이름 master지정된 태그를 작성했습니다 .

기본적으로 태그 의 내용 을 원격 Git 리포지토리 1.0.0master분기 로 푸시하고 싶습니다 .



답변

1.0.0주석이 달린 태그 이므로 실패했을 수 있습니다. 다음과 같은 오류 메시지가 표시되었을 수 있습니다.

오류 : 커밋되지 않은 객체를 분기 심판 / 헤드 / 마스터에 쓰려고합니다.

주석이 달린 태그에는 태그가 지정된 커밋 객체를 가리키는 고유 한 유형의 객체가 있습니다. 분기는 유용하게 객체를 태그 할 수 없으며 객체를 커밋 만합니다. 주석이 달린 태그를 다시 벗겨내어 객체를 커밋하고 대신 밀어야합니다.

git push production +1.0.0^{commit}:master
git push production +1.0.0~0:master          # shorthand

이 경우에도 작동하는 또 다른 구문이 있지만, 태그 객체가 커밋 이외의 것을 가리키는 경우 (또는 커밋을 가리키는 태그 객체 (…를 가리키는 태그 객체)의 경우 약간 다른 의미입니다) .

git push production +1.0.0^{}:master

구문 박리 이러한 태그에 기술되어 자식 반전 파싱 (1) 아래에 지정 개정 .


답변

git push --tags production

답변

다음과 같이 태그를 만든 다음 GitHub에 푸시합니다.

git tag -a v1.1 -m "Version 1.1 is waiting for review"
git push --tags

Counting objects: 1, done.
Writing objects: 100% (1/1), 180 bytes, done.
Total 1 (delta 0), reused 0 (delta 0)
To git@github.com:neoneye/triangle_draw.git
 * [new tag]         v1.1 -> v1.1

답변

단일 태그를 푸시하는 경우 : git push <reponame> <tagname>

예를 들어 git push production 1.0.0. 태그는 브랜치에 바인딩되지 않고 커밋에 바인딩됩니다.

마스터 브랜치에서 태그의 컨텐츠를 원할 경우 머신에서 로컬로 수행하십시오. 지역 마스터 지점에서 계속 개발한다고 가정합니다. 그렇다면 git push origin master충분해야합니다.