질문 : git 커밋 및 태그를 동시에 푸시
git push --tags
git push
와 별도의 작업 인 이유를 알고 있습니다. 실수로 태그를 누르는 것을 원하지 않으므로 태그를 누르는 것은 의식적인 선택이어야합니다. 괜찮아. 그러나 두 가지를 함께 밀 수있는 방법이 있습니까? ( git push && git push --tags
제외)
답변
2020년 8월 업데이트
에서 처음 언급 한 바와 같이 이 의해 답변을 SoBeRich , 내에서 자신의 대답 의로서, 자식 2.4.x에서
git push --atomic origin <branch name> <tag>
(참고 : 이것은 실제로 Git 2.24에서만 HTTPS에서 작동합니다. )
2015년 5월 업데이트
git 2.4.1 부터 다음을 수행 할 수 있습니다.
git config --global push.followTags true
true로 설정하면 기본적으로 --follow-tags 옵션을 활성화합니다.
--no-follow-tags를 지정하여 푸시 할 때이 구성을 재정의 할 수 있습니다.
Wes Hurd에 대한 Matt Rogers의이 스레드 에서 언급했듯이 :
--follow-tags
는 주석이 달린 태그 만 푸시합니다.
git tag -a -m "I'm an annotation" <tagname>
푸시됩니다 ( 여기에서 언급했듯이 푸시되지 않는 경량 태그 인 git tag <tagname>
과는 반대로)
2013년 4월 업데이트
git 1.8.3 (2013 년 4 월 22 일) 이후로 분기를 푸시 한 다음 태그를 푸시하기 위해 더 이상 2 개의 명령을 수행 할 필요가 없습니다 .
새로운 " --follow-tags
"옵션은 브랜치를 밀어 낼 때 관련 주석이 달린 태그를 밀어 내도록 git push
"에 지시합니다.
이제 새 커밋을 푸시 할 때 시도 할 수 있습니다.
git push --follow-tags
그래도 모든 로컬 태그가 푸시되지는 않지만 git push
되는 커밋에 의해 참조되는 태그 만 푸시됩니다.
Git 2.4.1+ (2015 년 2 분기)에서는 push.followTags
. git push
"가 분기 내에 태그를 포함하도록 만드는 방법 ?"을 참조하십시오.
2010년 9월 원본 답변
핵 옵션은 git push --mirror
이며 모든 참조를 refs/
아래에 푸시합니다.
현재 브랜치 커밋으로 하나의 태그 만 푸시 할 수도 있습니다.
git push origin : v1.0.0
--tags
옵션을 다음과 같은 refspec과 결합 할 수 있습니다.
git push origin --tags :
( --tags
는 명령 줄에 명시 적으로 나열된 refspec 외에도 refs/tags
아래의 모든 참조가 푸시되기 때문에)
또한 " Pushing branch and tags with a single"git push "invocation "항목이 있습니다.
Zoltán Füzesi 가 Git 메일 링리스트 에 간단한 팁을 게시했습니다.
이 문제를 해결하기 위해 .git/config
를 사용합니다.
[remote "origin"]
url = ...
fetch = +refs/heads/*:refs/remotes/origin/*
push = +refs/heads/*
push = +refs/tags/*
이 줄을 추가하면 git push origin
이 모든 분기와 태그를 업로드합니다. 일부만 업로드하려면 열거 할 수 있습니다.
아직 직접 시도하지는 않았지만, 브랜치와 태그를 동시에 푸시하는 다른 방법이 git push에 추가 될 때까지 유용 할 것 같습니다.
반면에 다음과 같이 입력해도 괜찮습니다.
$ git push && git push --tags
Aseem Kishore가 언급 한대로 주의하십시오.
push = +refs/heads/*
는 모든 분기를 강제로 푸시합니다 .
지금이게 날 물 었으니 참고로.
René Scheibe 는 다음과 같은 흥미로운 주석을 추가합니다.
--follow-tags
.git/refs/tags
아래의 태그 만 고려되므로 오해의 소지가 있습니다.git gc
가 실행되면 태그가 .git/refs/tags
에서 .git/packed-refs
합니다. 나중에 git push --follow-tags ...
가 더 이상 예상대로 작동하지 않습니다.
출처 : https://stackoverflow.com/questions/3745135/push-git-commits-tags-simultaneously
'개발관련 > Git' 카테고리의 다른 글
GitHub 저장소에서 단일 폴더 또는 디렉토리 다운로드 (0) | 2021.11.30 |
---|---|
Git으로 부분적으로 커밋 선택하기 (0) | 2021.11.30 |
로컬 git 브랜치를 원격 브랜치와 비교하는 방법 (0) | 2021.11.29 |
git 커밋을 삭제하고 변경 사항을 유지하는 방법 (0) | 2021.11.29 |
한 git 저장소에서 다른 저장소 (복제본 아님)로 파일을 이동하여 기록을 보존하는 방법 (0) | 2021.11.29 |