win32 - github github source




Comando do Git para exibir o ID de commit do HEAD? (5)

Qual comando posso usar para imprimir o ID de confirmação de HEAD?

Isso é o que estou fazendo à mão:

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

Mas eu preciso de um script que possa canalizar de forma confiável a saída de algum comando para um arquivo de texto, de forma que o arquivo de texto contenha exatamente o ID de confirmação de HEAD (nada mais ou menos, e não apenas um ref). Alguém pode ajudar?


De acordo com https://git-scm.com/docs/git-log , para uma saída mais bonita no console, você pode usar o argumento --decorate do comando git-log :

git log --pretty=oneline --decorate

vai imprimir:

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

Jogue com Bash:

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

Use o comando:

git rev-parse HEAD

Para a versão curta:

git rev-parse --short HEAD

Você pode especificar git log opções do git log para mostrar apenas o último commit, -1 , e um formato que inclua apenas o ID de commit, assim:

git log -1 --format=%H

Se você preferir o ID de confirmação abreviado:

git log -1 --format=%h


git log -1

por somente commit id

git log | head -n 1 




version-control