git describe가 "치명적 : 이름을 찾을 수 없음, 아무것도 설명 할 수 없음"과 함께 실패합니다.
Ubuntu 10.10 amd64에서 git 1.7.1을 사용하고 있으며 내 프로젝트로 컴파일하는 자동화 된 버전 정보에서 사용하기 위해 내 저장소 HEAD의 해시를 추출하려고합니다.
과거에는 항상
git describe --tags
그러나 git은 이제 던지고 있습니다.
fatal: No names found, cannot describe anything.
나 한테. 그게 무슨 뜻인지 아는 사람 있나요?
Google은 조회수가 거의없고 해결책이 없습니다.
당신이 당신의 ID를 원한다면 HEAD
당신은 필요하지 않습니다 describe
, 당신은 사용해야 rev-parse
합니다.
git rev-parse HEAD
축약 된 해시를 원하면 --short
.
git rev-parse --short HEAD
적절한 태그를 찾을 수없는 경우 "describe"가 축약 된 해시로 대체되도록하려면을 사용할 수 있습니다 --always
.
git describe --always
git-describe
가장 최근의 태그와 해당 태그 이후의 커밋 수를 포함 할 것으로 예상 하는 것 같습니다. 그러나 fatal: No names found
메시지는 저장소에 태그가 없음을 의미 합니다. git describe
최신 태그를 알려주 려면 커밋 기록에 적어도 하나의 태그가 있어야합니다 .
추측 만했지만 다른 곳에서 커밋에 태그를 지정했지만 태그를 업스트림으로 푸시하지 않았을 수 있습니다 (커밋을 업스트림으로 푸시하고 나중에 태그를 지정하고 리 푸시하지 않았습니까?). 이제 업스트림의 새 복제본이이 오류를 제공합니다 (태그가 없기 때문에). 이 경우 git push --tags
원하는 태그가있는 저장소에서 시도 할 수 git describe
있습니다 (예상 한 작업을 수행하는 위치 ). 그런 다음 git pull
태그가없는 저장소에서 수행하십시오.
CI 도구가 저장소의 얕은 복제를 수행하는 CI 빌드 환경에서이 문제가 발생했습니다. 내 개발 환경에서 명령이
git describe --tags
나에게 다음과 같은 출력을 줄 것이다.
2.2.12-7-g8ec9d6c9
빌드 환경에서는 "치명적인 이름을 찾을 수 없음"오류가 발생합니다. --always 태그를 사용해 본 경우
git describe --tags --always
그런 다음 단순히 최신 커밋의 해시를 가져 오지만 해당 커밋 이전의 가장 최근 태그는 가져 오지 않습니다.
8ec9d6c9
git pull
빌드 환경에서를 수행하는 것은 도움이되지 않습니다. 리포지토리가 얕게 복제 된 후에는 향후 가져 오기가 태그를 업데이트하지 않기 때문입니다.
해결책은 빌드 환경에서 저장소의 초기 복제본이 얕은 복제본이 아닌지 확인하는 것이 었습니다 (예 : git clone
명령이 --depth
, --shallow-since
또는 --shallow-exclude
매개 변수 와 함께 사용되지 않음 ).
CI 작업에서 작업하는 동안 비슷한 문제가 있었는데 문제는 git clone 또는 checkout scm가 저장소를 복제하는 동안 태그를 가져 오지 못했습니다.
태그없이 가져 오기 https : // github . ********** 에서 업스트림 변경 사항 가져 오기
"고급 복제 동작"을 선택한 다음 태그 가져 오기를 클릭하여 가져 오기 태그를 활성화 할 수 있습니다.
Travis CI의이 오류 메시지로 인해 여기에 온 경우 다음 설정을 사용하여 얕은 복제를 방지 할 수 있습니다.
git:
depth: false
테스트 git fetch --tags
했지만 작동하지 않았습니다.
이 명령은 나를 도왔습니다. git fetch -t
'programing tip' 카테고리의 다른 글
Rails에서 URL 헬퍼에 대한 기본 호스트를 어떻게 설정합니까? (0) | 2020.12.01 |
---|---|
Paperclip 및 RMagick에서 기존 이미지를 새로운 스타일로 크기 조정 (0) | 2020.12.01 |
자바 스크립트를 통해 페이지에 CSS를 동적으로 추가 (0) | 2020.11.30 |
for 루프, 특히 for (;;)는 어떻게 작동합니까? (0) | 2020.11.30 |
작업 표시 줄 작업을 동적으로 변경하려면 어떻게해야합니까? (0) | 2020.11.30 |