답변:
git bisect세션 중에 현재 작업 복사본에 체크 아웃 한 커밋을 보는 5 가지 방법이 있습니다 ( 옵션 1-4는 bisect를 수행하지 않는 경우에도 작동 함 ).
git show.git log -1.git status.git bisect visualize.아래에서 각 옵션에 대해 자세히 설명하겠습니다.
현재 체크 아웃 한 커밋을 결정하는 방법에 대한 일반적인 질문에 대한 이 답변 에서 설명했듯이 (출력 중뿐만 아니라 git bisect) 패치 출력을 억제 git show하는 -s옵션 과 함께 사용할 수 있습니다 .
$ git show --oneline -s
a9874fd Merge branch 'epic-feature'
git log -1현재 진행중인 커밋을 찾기 만하면 됩니다.
$ git log -1 --oneline
c1abcde Add feature-003
Git 버전 1.8.3 이상 (또는 이전 버전 이었습니까?)에서 Bash 프롬프트가 작업 복사본에 체크 아웃 한 현재 분기를 표시하도록 구성되어 있으면 확인한 현재 커밋도 표시됩니다 이등분 세션 중 또는 "분리 된 HEAD"상태에있을 때 아래 예에서 현재 c1abcde체크 아웃했습니다.
# Prompt during a bisect
user ~ (c1abcde...)|BISECTING $
# Prompt at detached HEAD state
user ~ (c1abcde...) $
또한 Git 버전 1.8.3 이상에서 (그리고 이전에는 다시 확실하지 않을 git status수도 있음 ) 실행 중이 면 bisect 중 및 분리 된 HEAD 상태에있을 때 체크 아웃 한 커밋이 표시됩니다.
$ git status
# HEAD detached at c1abcde <== RIGHT HERE
마지막으로을 수행하는 동안 또는 내장 별칭 을 git bisect사용하여 간단하게 시작할 수 있으므로 어느 커밋이 있는지와 지금까지 나쁘고 좋은 것으로 표시 한 커밋을 그래픽으로 볼 수 있습니다. 나는 이것이 1.8.3 버전 이전에 존재했다고 확신한다. 어떤 버전이 도입되었는지는 확실하지 않다.git bisect visualizegit bisect viewgitk
git bisect visualize
git bisect view # shorter, means same thing

git status분리 상태가 아닌 한 커밋 ID를 표시하지 않습니다. 그렇지 않으면 " 모든 지점에서 "라고 표시됩니다. git show작동하지만
당신은 할 수 있습니다 :
git rev-parse HEAD
조금 더 설명하려면 다음과 git rev-parse해석에 대한 자식의 기본 명령입니다 커밋 당신이 이름을 지정할 수있는 이국적인 가지 방법 중 하나를 하고 HEAD현재 커밋 또는 지점에 대한 참조입니다. ( git bisect세션 에서는 분기가 아닌 커밋 ( "분리 된 HEAD")을 직접 가리 킵니다.)
또는 기억하기 쉬운 방법은 다음과 같습니다.
git show
... 기본적으로 커밋을 표시합니다 HEAD. 보다 간결한 버전을 위해 다음을 수행 할 수 있습니다.
$ git show --oneline -s
c0235b7 Autorotate uploaded images based on EXIF orientation
git rev-parse HEAD모든 가비지 대안에 대한 처리가 필요하지 않습니다.
$ git rev-parse HEAD 273cf91b4057366a560b9ddcee8fe58d4c21e6cb
최신 정보:
또는 (태그가있는 경우) :
(버전 이름을 지정하는 데 좋으며 git으로 다시 전달하는 데 좋지 않습니다.)
$ 자식 설명 v0.1.49-localhost-ag-1-g273cf91
또는 (Mark가 제안한대로 완전성을 위해 여기에 나열) :
$ git show --oneline -s c0235b7 EXIF 방향에 따라 업로드 된 이미지를 자동 회전
간단한 정보 만 추출 git show하려면 --format=<string>옵션 을 사용하여 정보를 얻을 수 있으며 ...로 diff를 제공하지 않도록 요청할 수 있습니다 --no-patch. 이것은 당신이 원하는 것의 printf 스타일 출력을 얻을 수 있다는 것을 의미합니다. 종종 단일 필드 일 수도 있습니다.
예를 들어 단축 된 해시 ( %h) 만 얻으려면 다음과 같이 말할 수 있습니다.
$ git show --format="%h" --no-patch
4b703eb
bash의 환경 변수에 저장하려는 경우 (사람이하고 싶을 수도 있음) $()구문을 사용할 수 있습니다 .
$ GIT_COMMIT="$(git show --format="%h" --no-patch)"
$ echo $GIT_COMMIT
4b703eb
수행 할 수있는 작업git show --help 의 전체 목록은에 있습니다. 그러나 다음은 유용 할 수있는 약식 속성 목록입니다.
%H 커밋 해시%h 약식 커밋 해시%T 트리 해시%t 약식 트리 해시%P 부모 해시%p 약식 부모 해시%an 저자 이름%ae 저자 이메일%at 작성자 날짜, UNIX 타임 스탬프%aI 작성자 날짜, 엄격한 ISO 8601 형식%cn 커미터 이름%ce 커미터 이메일%ct 커미터 날짜, UNIX 타임 스탬프%cI 커미터 날짜, 엄격한 ISO 8601 형식%s 제목%f 파일 이름에 적합한 위생 처리 된 제목 줄%gD reflog 선택기, 예 : refs / stash @ {1}%gd 단축 된 reflog 선택기 (예 : stash @ {1}show 에는 아무것도 없습니다 .
git log -p -S <search>.