Programing

HEAD 커밋 ID를 표시하는 Git 명령?

lottogame 2020. 5. 5. 19:30
반응형

HEAD 커밋 ID를 표시하는 Git 명령?


HEAD의 커밋 ID를 인쇄하기 위해 어떤 명령을 사용할 수 있습니까?

이것이 내가 손으로하는 일입니다.

$ cat .git/HEAD
ref: refs/heads/v3.3
$ cat .git/refs/heads/v3.3
6050732e725c68b83c35c873ff8808dff1c406e1

그러나 텍스트 파일에 HEAD의 커밋 ID가 정확히 포함되도록 텍스트 명령으로 일부 명령의 출력을 안정적으로 파이프 할 수있는 스크립트가 필요합니다. 누구든지 도울 수 있습니까?


다음 명령을 사용하십시오.

git rev-parse HEAD

짧은 버전의 경우 :

git rev-parse --short HEAD

git log -1

커밋 ID 만

git log | head -n 1 

나중에 참조 할 수있는 오래된 스레드 ... :) 심지어 다음 작품

git show-ref --head

기본적으로 HEAD는 필터링됩니다. 그래도 다음에주의하십시오; 끝에 's'가있는 복수형 "헤드". 다음 명령은 "refs / heads"아래 분기를 보여줍니다.

 git show-ref --heads

다음 git log같이 마지막 커밋 -1만 표시하고 커밋 ID 만 포함하는 형식 만 표시하도록 옵션을 지정할 수 있습니다 .

git log -1 --format=%H

단축 커밋 ID를 선호하는 경우 :

git log -1 --format=%h


배쉬와 함께 플레이 :

git show HEAD | sed -n 1p | cut -d " " -f 2

https://git-scm.com/docs/git-log 에 따르면 콘솔에서 더 예쁜 출력을 얻으려면 git-log 명령 --decorate 인수를 사용할 수 있습니다 .

git log --pretty=oneline --decorate

인쇄합니다 :

2a5ccd714972552064746e0fb9a7aed747e483c7 (HEAD -> master) New commit
fe00287269b07e2e44f25095748b86c5fc50a3ef (tag: v1.1-01) Commit 3
08ed8cceb27f4f5e5a168831d20a9d2fa5c91d8b (tag: v1.1, tag: v1.0-0.1) commit 1
116340f24354497af488fd63f4f5ad6286e176fc (tag: v1.0) second
52c1cdcb1988d638ec9e05a291e137912b56b3af test

git rev-parse --abbrev-ref HEAD


이 명령을 사용할 수 있습니다

$ git rev-list HEAD

또한 head unix 명령을 사용하여 최신 n HEAD 커밋을 표시 할 수 있습니다

$git rev-list HEAD | 머리-2

참고 URL : https://stackoverflow.com/questions/1967967/git-command-to-display-head-commit-id

반응형