주어진 git 커밋과 관련된 태그를 찾는 방법은 무엇입니까?
릴리스의 경우 일반적으로 v1.1.0과 같은 태그를 지정합니다. 빌드 스크립트 중에 현재 git 정보가 포함 된 fwVersion.c 파일을 만들고 있습니다. 현재 파일에 커밋 및 분기 정보가 있지만 태그를 추가하고 싶습니다.
이것이 가능한가?
에 대한 설명서를 확인하십시오 git describe
. 주어진 커밋에 가장 가까운 태그 (즉, 커밋의 조상을 가리키는 태그)를 찾고 태그 측면에서 해당 커밋을 설명합니다.
커밋이 태그로 가리키는 지 여부 만 알고 싶다면 다음 출력을 확인할 수 있습니다.
git describe --exact-match <commit-id>
원하는 것이 커밋을 포함하는 첫 번째 태그 인 경우 :
git describe --contains <commit>
최고의 답변 IMO를 제공합니다. 큰 저장소의 오래된 커밋에 "git tag --contains"를 사용하는 것보다 자주 태그가있는 경우 실행하는 데 시간이 걸릴 수 있으며 해당 커밋을 포함하는 모든 태그를 제공합니다.
이 형식의 git describe는 매우 빠르게 실행되며 커밋을 포함하는 첫 번째 태그 인 단일 출력 값과 커밋이 얼마나 뒤로 돌아 갔는지 제공합니다.
이것은 어떤가요?
git tag --points-at <commit-id>
주어진 커밋에있는 모든 태그를 제공하고 ( git describe
단 하나만 제공함) 하위 커밋에 태그를 포함하지 않습니다 git tag --contains
.
이 정보는 매뉴얼에서 찾을 수 있습니다.
git tag --contains <commit>
댓글을 추가하는 방법을 몰라서 답변을 게시하는 방법을 몰라 미안합니다 ... 내가 원하는 것을 제공하기 위해 두 탑스 답변의 콤보를 찾았습니다.
git describe --tags --exact-match <commit-id>
이렇게하면 해당 커밋과 주석이없는 태그에만 해당하는 태그가 제공됩니다. 태그를 찾고 싶을 때 유용하며 형식을 제거하는 것에 대해 걱정하지 않아도됩니다 (예 : Jenkins의 경우).
예. $ git describe --tags --exact-match head~2
제공합니다 :
$ ReleaseBeta
참고 URL : https://stackoverflow.com/questions/1474115/how-to-find-the-tag-related-with-a-given-git-commit
'developer tip' 카테고리의 다른 글
Ionic Framework를 사용하여 로그인 / 로그 아웃시 기록 지우기 및 페이지 다시로드 (0) | 2020.10.09 |
---|---|
Socket.IO 1.x 및 Express 4.x와 세션을 공유하는 방법은 무엇입니까? (0) | 2020.10.09 |
log4net (로거 이름 지정)을 사용하는 올바른 방법 (0) | 2020.10.08 |
스토리 보드에서 다른 Swift 1.2 파일로 이동할 때 Xcode 6.3이 충돌합니다. (0) | 2020.10.08 |
C ++에서 C로 이동 (0) | 2020.10.08 |