Git에서 현재 개정판이 무엇인지 어떻게 알 수 있습니까?


167

현재 버전 번호가 무엇인지 알고 싶습니다.


추가 git 명령에서 사용하기 위해 현재 개정판을 얻는 방법을 찾고있는 동안이 질문을 발견했습니다. 그러나 답을 읽을 때 나는 "아 잠깐, 나는 그것을 필요로하지 않고 HEAD실제로 사용할 수있다"고 생각했다 .
Antoine Pinsard

답변:


228

"버전 번호"는 무엇을 의미합니까? 커밋에 버전 번호로 태그를 달고 사용하는 것이 일반적입니다.

$ git describe --tags

태그가있는 현재 HEAD를 식별합니다. 현재 HEAD의 해시를 알고 싶다면 다음을 원할 것입니다.

$ git rev-parse HEAD

또는 짧은 개정 해시의 경우 :

$ git rev-parse --short HEAD

다음과 같이하면 충분합니다.

$ cat .git/refs/heads/${branch-master}

그러나 이것은 심판이 포장 될 수 있으므로 신뢰할 수 없습니다.


8
참조는 포장되어있을 수 있으므로 .git/packed-refs직접 액세스하지 않아야합니다 .git/refs/. 그냥 사용하십시오 git rev-parse master(또는 git rev-parse refs/heads/master완전히 모호하지 않아야하는 경우).
Chris Johnsen

108

git log -1가장 쉽고 가장 일반적인 방법 은 여러 가지 가 있습니다.


1
파일을 이전 버전으로 만들려면 어떻게합니까?
TIMEX

1
어쩌면 당신은 ^ 자식 체크 아웃 헤드를 원하는 - 이름
manojlds은

2
btw, 이것은 현재 개정판보다 훨씬 더 많은 것을 제공하므로 결과적으로 구문 분석해야합니다 (따라서 최고의 / 쉬운 / 일반적인 해결책은
아닙니다

36

이것은 당신에게 수정본을 제공합니다.

git rev-parse HEAD

나는 이것이 구현에 의존하지 않기 때문에 이것이 최선의 대답이라고 생각합니다. William의 답변 "cat .git / refs / heads / master"는 동일한 값을 제공하지만 구현이 변경 될 경우 향후 작동 할 것이라는 보장은 없습니다.
Thagomizer

동의합니다. 이것이 최선의 대답입니다. --short옵션에 대해 간단히 언급 하면 완벽합니다.
Bobby Jack

15

이것은 해시의 처음 몇 자리 숫자를 제공하며 버전 번호로 사용하기에 고유합니다.

git rev-parse-짧은 머리


0

아래는 HEAD뿐만 아니라 이전에 푸시 된 개정판과 함께 작동합니다

약식 개정 해시 :

git log -1 --pretty=format:%h

긴 수정 해시의 경우 :

git log -1 --pretty=format:%H
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.