# git describe --- ## 1. Git Describe란? - `git describe`는 현재 커밋(또는 ref)이 ****가장 가까운 태그****로부터 몇 번째 커밋인지, 어떤 커밋인지 요약해주는 명령어이다. - 주로 ****버전 관리****, ****릴리즈 스크립트 자동화****, ****디버깅 시 위치 파악**** 등에 활용됨. --- ## 2. 기본 출력 형식 ```text __g ```
항목 설명
`` 가장 가까운 태그 이름
`` 태그 이후 몇 번째 커밋인지 (0이면 태그 본인)
`g<해시>` 해당 커밋의 Git short hash
--- ## 3. 자주 쓰는 옵션 ### 3.1 `--tags` ```bash git describe --tags ``` - 기본 동작은 ****annotated tag****만 검색. - `--tags`를 붙이면 ****lightweight tag****도 포함하여 검색. --- ### 3.2 `--abbrev=0` ```bash git describe --abbrev=0 ``` - 가장 가까운 태그 이름만 출력하고, 커밋 수나 해시는 생략됨. - 릴리즈 버전명만 필요할 때 유용. --- ### 3.3 `--exact-match` ```bash git describe --exact-match ``` - 현재 커밋이 태그와 ****정확히 일치****할 때만 태그 이름을 출력. - 그렇지 않으면 아무 출력도 하지 않음. --- ## 4. 사용 예시 ```bash git describe # v2.0.0-2-gabc1234 git describe --tags # lightweight 포함 git describe --abbrev=0 # v2.0.0 git describe --exact-match # v2.0.0 (태그된 커밋일 때만) ``` --- ## 5. 주의사항 - `git describe`는 기본적으로 ****annotated tag****만 대상으로 함. - lightweight 태그까지 포함하고 싶으면 `--tags` 옵션 사용. - ****스크립트/자동화****에서는 보통 `--tags --abbrev=0` 조합 사용. - 태그가 없는 경우, 결과가 출력되지 않거나 에러 발생 가능성 있음. ---