반응형
git에서 특정 커밋을 가리키는 모든 태그를 나열하는 방법
나는 명령 git describe을 git-name-rev보았지만 둘 이상의 태그를 나열하도록 관리하지 못했습니다.
예 : sha1 48eb354가 있고 태그 A와 B가이를 가리키는 것을 알고 있습니다. 그래서 git {something} 48eb354"A, B"와 유사한 출력을 생성 하는 git 명령 을 원합니다 . 다른 태그 또는 분기와 관련된 참조를 아는 데 관심이 없습니다.
git show-ref --tags -d | grep ^48eb354 | sed -e 's,.* refs/tags/,,' -e 's/\^{}//'
경량 및 주석이 달린 태그 모두에서 작동해야합니다.
git tag --points-at HEAD
HEAD의 모든 태그를 표시합니다. HEAD를 sha1 ID로 대체 할 수도 있습니다.
당신이 사용할 수있는:
git tag --contains <commit>
특정 커밋에서 모든 태그를 표시합니다. 다음 대신 사용할 수 있습니다.
git tag --points-at HEAD
1.7.10에서만 사용할 수 있습니다.
git for-each-ref --format='%(objectname) %(refname:short)' refs/tags/ |
grep ^$commit_id |
cut -d' ' -f2
더 쉽게 할 수없는 것이 아쉽습니다. git tag커밋 ID를 포함하는 또 다른 플래그는 해당 git for-each-ref호출을 자연스럽게 표현할 수 있습니다.
다음 명령은 작업을 수행하지만 .git 디렉토리의 내용을 직접 구문 분석하므로 git 저장소 형식이 변경되면 중단 될 수 있습니다.
grep -l -r -e '^48eb354' .git/refs/tags|sed -e 's,.*/,,'
반응형
'Nice programing' 카테고리의 다른 글
| Xcode의 UITextField에 이미지를 추가 하시겠습니까? (0) | 2020.11.12 |
|---|---|
| Ruby의 문자열에서 숫자 추출 (0) | 2020.11.12 |
| PostgreSQL : 기본 제약 이름 (0) | 2020.11.12 |
| Swift에서 배열 요소별로 그룹화하는 방법 (0) | 2020.11.12 |
| UITableView에서 UITableViewCells 사이의 줄 삭제 (0) | 2020.11.12 |