programing tip

git describe가 "치명적 : 이름을 찾을 수 없음, 아무것도 설명 할 수 없음"과 함께 실패합니다.

itbloger 2020. 12. 1. 07:43
반응형

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 . ********** 에서 업스트림 변경 사항 가져 오기

"고급 복제 동작"을 선택한 다음 태그 가져 오기를 클릭하여 가져 오기 태그를 활성화 할 수 있습니다.

Screenshot_enabling_git_fetch


Travis CI의이 오류 메시지로 인해 여기에 온 경우 다음 설정을 사용하여 얕은 복제를 방지 할 수 있습니다.

git:
  depth: false

테스트 git fetch --tags했지만 작동하지 않았습니다.


이 명령은 나를 도왔습니다. git fetch -t

참고 URL : https://stackoverflow.com/questions/4916492/git-describe-fails-with-fatal-no-names-found-cannot-describe-anything

반응형