예를 들어 태그 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.0
의 master
분기 로 푸시하고 싶습니다 .
답변
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
충분해야합니다.