Saya menemukan pertanyaan ini ketika saya sedang mencari cara untuk mendapatkan revisi saat ini untuk menggunakannya dalam perintah git lebih lanjut. Tetapi ketika saya membaca jawabannya, saya menemukan jawabannya: "Oh, tunggu, saya tidak membutuhkannya, saya hanya bisa menggunakannya HEAD."
Antoine Pinsard
Jawaban:
228
Apa yang Anda maksud dengan "nomor versi"? Sangat umum untuk menandai komit dengan nomor versi dan kemudian menggunakannya
$ git describe --tags
untuk mengidentifikasi tag KEPALA saat ini setiap tag. Jika Anda ingin tahu hash dari HEAD saat ini, Anda mungkin ingin:
$ git rev-parse HEAD
atau untuk hash revisi singkat:
$ git rev-parse --short HEAD
Seringkali cukup untuk melakukan:
$ cat .git/refs/heads/${branch-master}
tetapi ini tidak dapat diandalkan karena wasit dapat dikemas.
Referensi mungkin dikemas .git/packed-refs, jadi Anda mungkin harus menghindari mengakses langsung .git/refs/. Cukup gunakan git rev-parse master(atau git rev-parse refs/heads/masterjika Anda harus benar-benar ambigu).
Chris Johnsen
108
Ada banyak cara git log -1yang paling mudah dan paling umum, saya pikir
Bagaimana cara membuat file menjadi versi sebelumnya?
TIMEX
1
mungkin Anda ingin checkout HEAD ^ - filename
manojlds
2
btw, ini memberikan BANYAK LEBIH BANYAK dari sekadar revisi saat ini dan Anda harus menguraikannya secara konsekuen (jadi, bukan solusi terbaik / termudah / umum, imho)
Saya pikir ini adalah jawaban terbaik, karena tidak tergantung pada implementasi. Jawaban William "cat .git / refs / head / master" akan memberikan nilai yang sama, tetapi tidak ada jaminan bahwa itu akan bekerja di masa depan jika implementasinya berubah.
Thagomizer
Setuju, ini adalah jawaban terbaik. Menyebutkan --shortopsi secara singkat akan membuatnya sempurna.
Bobby Jack
15
Ini memberi Anda beberapa digit pertama dari hash dan mereka cukup unik untuk digunakan sebagai nomor versi.
HEAD
."Jawaban:
Apa yang Anda maksud dengan "nomor versi"? Sangat umum untuk menandai komit dengan nomor versi dan kemudian menggunakannya
untuk mengidentifikasi tag KEPALA saat ini setiap tag. Jika Anda ingin tahu hash dari HEAD saat ini, Anda mungkin ingin:
atau untuk hash revisi singkat:
Seringkali cukup untuk melakukan:
tetapi ini tidak dapat diandalkan karena wasit dapat dikemas.
sumber
.git/packed-refs
, jadi Anda mungkin harus menghindari mengakses langsung.git/refs/
. Cukup gunakangit rev-parse master
(ataugit rev-parse refs/heads/master
jika Anda harus benar-benar ambigu).Ada banyak cara
git log -1
yang paling mudah dan paling umum, saya pikirsumber
Ini memberi Anda hanya revisi.
sumber
--short
opsi secara singkat akan membuatnya sempurna.Ini memberi Anda beberapa digit pertama dari hash dan mereka cukup unik untuk digunakan sebagai nomor versi.
sumber
di bawah ini akan berfungsi dengan revisi yang didorong sebelumnya, tidak hanya KEPALA
untuk hash revisi singkat:
untuk hash revisi lama:
sumber