질문자 :Jonas
원격 Git 리포지토리를 내 랩톱에 복제한 다음 태그를 추가하고 싶었습니다.
git tag mytag master
랩톱에서 git tag
를 실행하면 mytag
태그가 표시됩니다. 그런 다음 이 태그를 원격 저장소로 푸시하여 모든 클라이언트에 이 태그를 git push
실행했지만 다음 메시지를 받았습니다.
최신 정보
데스크탑으로 이동하여 git pull
실행한 다음 git tag
하면 태그가 표시되지 않습니다.
또한 프로젝트의 파일을 약간 변경한 다음 서버에 푸시하려고 했습니다. 그 후 서버에서 내 데스크톱 컴퓨터로 변경 사항을 가져올 수 있지만 데스크톱 컴퓨터에서 git tag
를 실행할 때 여전히 태그가 없습니다.
모든 클라이언트 컴퓨터가 볼 수 있도록 내 태그를 원격 리포지토리에 푸시하려면 어떻게 해야 합니까?
단일 태그를 푸시하려면:
git push origin <tag_name>
그리고 다음 명령은 모든 태그를 푸시해야 합니다(권장하지 않음 ).
# not recommended git push --tags
Trevorgit push --follow-tags
이것은 Git 1.8.3에 도입된 정상적인 옵션입니다.
git push --follow-tags
커밋과 둘 다에 해당하는 태그만 푸시합니다.
- 주석이 달린
- 푸시된 커밋에서 도달 가능한(선조)
이것은 다음과 같은 이유로 정상입니다.
이러한 이유 때문에 --tags
를 피해야 합니다.
Git 2.4 는 기본적으로 다음과 같이 설정할 수 있는 해당 플래그를 설정하는 push.followTags
옵션을 추가했습니다.
git config --global push.followTags true
또는 ~/.gitconfig
파일의 [push]
섹션에 followTags = true
를 추가합니다.
Ciro Santilli 新疆再教育营六四事件法轮功郝海东특정 태그를 푸시하려면 git push origin tag_name
solgarTrevor의 답변 을 확장하려면 단일 태그 또는 모든 태그를 한 번에 푸시할 수 있습니다.
단일 태그 푸시
git push <remote> <tag>
이것은 이것을 설명하는 관련 문서 의 요약입니다(간결함을 위해 일부 명령 옵션은 생략됨).
git push [[<repository> [<refspec>…]] <refspec>...
<refspec>
매개변수의 형식은 <src>
, 콜론 :
다음에 대상 ref <dst>
…
<dst>
는 원격 측의 어떤 ref가 이 푸시로 업데이트되는지 알려줍니다... :<dst>
가 생략되면 <src>
와 동일한 ref가 업데이트됩니다…
<tag>
refs/tags/<tag>:refs/tags/<tag>
와 같은 의미입니다.
한 번에 모든 태그 푸시
git push --tags <remote> # Or git push <remote> --tags
다음은 관련 문서 의 요약입니다(간결함을 위해 일부 명령 옵션은 생략됨).
git push [--all | --mirror | --tags] [<repository> [<refspec>…]] --tags
명령줄에 명시적으로 나열된 refspecs 외에도 refs/tags
아래의 모든 refs가 푸시됩니다.
user456814git push --tags
명령으로 모든 로컬 태그를 푸시할 수 있습니다.
$ git tag # see tag lists $ git push origin <tag-name> # push a single tag $ git push --tags # push all local tags
Sajib Khan태그는 git push 명령으로 원격 저장소로 전송되지 않습니다. 다음 명령을 사용하여 이러한 태그를 원격 서버에 명시적으로 보내야 합니다.
git push origin <tagname>
아래 명령을 사용하여 모든 태그를 한 번에 푸시할 수 있습니다.
git push origin --tags
다음은 git 태그 지정에 대한 전체 세부 정보에 대한 몇 가지 리소스입니다.
http://www.cubearticle.com/articles/more/git/git-tag
http://wptheming.com/2011/04/add-remove-github-tags
Ashutosh Meher다음과 같이 태그를 푸시할 수 있습니다. git push --tags
Fernando Diaz Garrido태그를 푸시하고 있는지 확인하기 위해 git push <remote-name> tag <tag-name>
나는 그것을 다음과 같이 사용한다: git push origin tag v1.0.1
. 이 패턴은 문서( man git-push
)를 기반으로 합니다.
OPTIONS ... <refspec>... ... tag <tag> means the same as refs/tags/<tag>:refs/tags/<tag>.
Carl G모든 클라이언트 컴퓨터가 볼 수 있도록 내 태그를 원격 리포지토리에 푸시하려면 어떻게 해야 합니까?
이것을 실행하여 mytag
를 git 오리진(예: GitHub 또는 GitLab)으로 푸시합니다.
git push origin refs/tags/mytag
mytag
가 실제로 v1.0.0
이고 모호한 경우(예: v1.0.0
이라는 브랜치가 있기 때문에) 위에 표시된 것처럼 전체 "refspec"(문자 그대로 refs/tags/mytag
)을 사용하는 것이 좋습니다.
Michael Altfield나는 다음과 같이 일했다 :
git push --tags origin <branch-name> <tag-name> eg : git push --tags origin master v2.0
Alferd Nobel사용 가능한 도구를 사용하여 태그를 만들 수도 있습니다. Git 확장 및 소스 트리의 샘플 하나가 추가되었습니다.
또한 태그를 원격 분기로 이동하려면 "Push tag to origin"을 선택하고 태그를 푸시합니다. 이것은 다른 개발자가 최신 저장소를 늦게 사용할 때 특정 지점을 사용하거나 참조하는 데 도움이 됩니다.
GitExtension/sourcetree에서 저장소를 엽니다.
- 태그를 추가할 커밋을 선택합니다. 커밋을 마우스 오른쪽 버튼으로 클릭하면 태그를 만드는 옵션이 표시됩니다.
깃 확장:
소스 트리:
- 다른 옵션으로 상단 메뉴에서 태그 생성을 선택할 수 있습니다.
깃 확장:
소스 트리:
- 이 팝업이 열리고 요구 사항에 따라 태그 이름을 추가하고 "원점으로 태그 푸시"를 선택합니다. 하지만 선호합니다.
깃 확장:
소스 트리:
KushalSeth출처 : http:www.stackoverflow.com/questions/5195859/how-do-you-push-a-tag-to-a-remote-repository-using-git