728x90
반응형
질문 : 더 이상 원격 저장소에없는 로컬 git 태그 제거
배포 프로세스의 일부로 git에서 태그를 사용합니다. 때때로 우리는 원격 저장소에서 태그를 제거하여 이러한 태그를 정리하려고합니다.
이것은 매우 간단합니다. 한 사용자가 한 세트의 명령에서 로컬 태그와 원격 태그를 삭제합니다. 두 단계를 결합한 작은 쉘 스크립트가 있습니다.
이제 두 번째 (세 번째, 네 번째, ...) 사용자는 더 이상 리모컨에 반영되지 않는 로컬 태그를 갖게됩니다.
원격 분기가 삭제 된 로컬 추적 분기를 정리하는 git remote prune origin
과 유사한 명령을 찾고 있습니다.
또는 원격 태그를 나열하는 간단한 명령을 사용하여 git tag -l
통해 반환 된 로컬 태그와 비교할 수 있습니다.
답변
좋은 질문. :) 완전한 답이 없습니다 ...
git ls-remote
를 통해 원격 태그 목록을 얻을 수 있습니다. origin
에서 참조하는 저장소의 태그를 나열하려면 다음을 실행합니다.
git ls-remote --tags origin
그러면 다음과 같은 해시 및 친숙한 태그 이름 목록이 반환됩니다.
94bf6de8315d9a7b22385e86e1f5add9183bcb3c refs/tags/v0.1.3
cc047da6604bdd9a0e5ecbba3375ba6f09eed09d refs/tags/v0.1.4
...
2f2e45bedf67dedb8d1dc0d02612345ee5c893f2 refs/tags/v0.5.4
이 목록에 의해 생성 된 태그를 로컬에있는 태그와 비교하기 위해 bash 스크립트를 확실히 조합 할 수 있습니다. git ls-remote
와 동일한 형식으로 태그 이름을 생성하는 git show-ref --tags
살펴보십시오.
제쳐두고 git show-ref
에는 원하는 것과 반대되는 옵션이 있습니다. 다음 명령은 로컬에 없는 원격 분기의 모든 태그를 나열합니다.
git ls-remote --tags origin | git show-ref --tags --exclude-existing
출처 : https://stackoverflow.com/questions/1841341/remove-local-git-tags-that-are-no-longer-on-the-remote-repository
728x90
반응형
'개발관련 > Git' 카테고리의 다른 글
Git에서 태그가 가리키는 커밋을 확인하는 방법 (0) | 2022.01.17 |
---|---|
이전 커밋에서 새 Git 브랜치를 생성하는 방법 (0) | 2022.01.17 |
아직 푸시되지 않은 Git 병합 실행 취소 하는 방법 (0) | 2022.01.17 |
로컬 Git 변경 사항을 제거하는 다양한 방법 (0) | 2022.01.06 |
Git에서 쉘 명령을 실행할 때 사용할 개인 SSH 키를 지정하는 방법 (0) | 2022.01.06 |