Git'te şu anki revizyonumun ne olduğunu nasıl anlayabilirim?


167

Şu anki sürüm numaramın ne olduğunu bilmek istiyorum.


Bu soruyu, daha sonraki git komutlarında kullanmak için geçerli düzeltmeyi almanın bir yolunu ararken buldum. Ama cevapları okuduğumda anladım: "Ah bekle, ihtiyacım yok, sadece kullanabiliyorum HEAD."
Antoine Pinsard

Yanıtlar:


228

"Sürüm numarası" ile ne demek istiyorsun? Bir taahhüdü bir sürüm numarasıyla etiketlemek ve ardından kullanmak oldukça yaygındır.

$ git describe --tags

herhangi bir etiketi mevcut KAFA tanımlamak için. Mevcut HEAD'ın karmasını bilmek istediğinizi kastediyorsanız, muhtemelen:

$ git rev-parse HEAD

veya kısa revizyon karması için:

$ git rev-parse --short HEAD

Genellikle yapmak yeterlidir:

$ cat .git/refs/heads/${branch-master}

ancak ref paketlenebileceğinden bu güvenilir değildir.


8
Referanslar paketlenmiş olabilir .git/packed-refs, bu nedenle doğrudan doğrudan erişmekten kaçınmalısınız .git/refs/. Sadece kullanın git rev-parse master(veya git rev-parse refs/heads/mastertamamen açık olmanız gerekiyorsa).
Chris Johnsen

108

git log -1Bence en kolay ve en yaygın olan birçok yol var.


1
Bir dosyayı önceki sürüm haline nasıl getirebilirim?
TIMEX

1
belki git checkout HEAD ^ - dosya adı
manojlds

2
btw, bu sadece mevcut revizyondan çok daha fazlasını verir ve sonuç olarak ayrıştırmanız gerekir (bu nedenle, en iyi / en kolay / ortak çözüm,
imho değil

36

Bu size sadece revizyonu verir.

git rev-parse HEAD

Bunun en iyi cevap olduğunu düşünüyorum, çünkü uygulamaya bağlı değil. William'ın cevabı "cat .git / refs / heads / master" aynı değeri sağlayacaktır, ancak uygulama değiştiğinde gelecekte çalışacağının garantisi yoktur.
Thagomizer

Anlaşıldı, bu en iyi cevap. --shortSeçeneği kısaca anlatarak mükemmelleştirebilirsiniz.
Bobby Jack

15

Bu, karmanın ilk birkaç basamağını verir ve bir sürüm numarası olarak kullanmak için benzersizdir.

git rev-parse - kısa KAFA


0

Aşağıda sadece HEAD ile değil, daha önce itilmiş herhangi bir düzeltme ile çalışacaktır

kısaltılmış düzeltme karması için:

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

uzun revizyon karması için:

git log -1 --pretty=format:%H
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.