Perintah apa yang dapat saya gunakan untuk mencetak ID komit HEAD?
Inilah yang saya lakukan dengan tangan:
$ cat .git/HEAD
ref: refs/heads/v3.3
$ cat .git/refs/heads/v3.3
6050732e725c68b83c35c873ff8808dff1c406e1
Tetapi saya memerlukan sebuah skrip yang andal dapat mem-pipe output dari beberapa perintah ke file teks sedemikian rupa sehingga file teks tersebut mengandung persis commit commit dari HEAD (tidak lebih atau kurang, dan bukan hanya ref). Adakah yang bisa membantu?
git
version-control
Andrew Arnott
sumber
sumber
Jawaban:
Gunakan perintah:
Untuk versi singkat:
sumber
git rev-parse --short HEAD
akan berhasil.untuk hanya melakukan id
sumber
Utas lama, masih untuk referensi di masa mendatang ... :) bahkan setelah karya
secara default HEAD disaring. Berhati-hatilah untuk mengikuti; "kepala" jamak dengan huruf 's' di bagian akhir. Perintah berikut menunjukkan cabang di bawah "ref / kepala"
sumber
git show-ref --heads
dan 6290 baris darigit show-ref --head
. jadi jika Anda hanya menginginkan satu hash, ini mungkin bukan hasil yang diinginkan.Anda dapat menentukan
git log
opsi untuk hanya menampilkan komit terakhir-1
, dan format yang hanya menyertakan ID komit, seperti ini:git log -1 --format=%H
Jika Anda lebih suka ID komit yang dipersingkat:
git log -1 --format=%h
sumber
Main dengan Bash:
sumber
Menurut https://git-scm.com/docs/git-log , untuk output yang lebih cantik di konsol Anda dapat menggunakan --decorate argumen dari perintah git-log :
akan dicetak:
sumber
git rev-parse --abbrev-ref HEAD
sumber
Anda dapat menggunakan perintah ini
$ git rev-list HEAD
Anda juga dapat menggunakan
head
perintah Unix untuk menampilkann
HEAD
commit terbaru$ git rev-list HEAD | head - 2
sumber
Kamu bisa memakai
untuk melihat
git reflog
informasi yang diformat sepertigit log
outputsumber