Di Git, bagaimana saya mengetahui apa revisi saya saat ini?


167

Saya hanya ingin tahu apa nomor versi saya saat ini.


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.


8
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


1
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)
RAM237

36

Ini memberi Anda hanya revisi.

git rev-parse HEAD

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.

git rev-parse --Pendek pendek


0

di bawah ini akan berfungsi dengan revisi yang didorong sebelumnya, tidak hanya KEPALA

untuk hash revisi singkat:

git log -1 --pretty=format:%h

untuk hash revisi lama:

git log -1 --pretty=format:%H
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.