HEAD komut kimliğini görüntülemek için Git komutu?


251

HEAD komut kimliğini yazdırmak için hangi komutu kullanabilirim?

Elle yaptığım şey bu:

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

Ancak, metin dosyasının tam olarak HEAD (daha fazla veya daha az ve hiçbir şey değil) kesin kimliğini içeren bir metin dosyasına bazı komutların çıkışını güvenilir bir şekilde yönetebilen bir komut dosyasına ihtiyacım var. Biri yardım edebilir mi?


Daha önce benzer bir sorum var. Ve burada iyi cevaplandı: stackoverflow.com/questions/44994626/…
smwikipedia

Yanıtlar:


451

Komutunu kullanın:

git rev-parse HEAD

Kısa versiyon için:

git rev-parse --short HEAD

34
Karma kısa sürümünü arayan herkes için, git rev-parse --short HEADçalışacaktır.
mgarciaisaia

45
git log -1

sadece taahhüt kimliği için

git log | head -n 1 

Teşekkürler, çok kolay
eC Droid

15

Eski iş parçacığı, ileride başvurmak için hala ... :) çalışmalarını takip ediyor

git show-ref --head

varsayılan olarak HEAD filtrelenir. Yine de aşağıdakilere dikkat edin; "s" ile çoğul "kafalar". Aşağıdaki komut "refs / heads" altındaki dalları gösterir

 git show-ref --heads

4
bu komutları bir (büyük) git deposunda kullanarak iki satır git show-ref --headsve 6290 satır alıyorum git show-ref --head. yani tek bir karma istiyorsanız, bu amaçlanan sonucu vermeyebilir.
Remigius Stalder

7

git logYalnızca son taahhüdü gösterme seçeneklerini -1ve yalnızca taahhüt kimliğini içeren bir biçimi belirtebilirsiniz , örneğin:

git log -1 --format=%H

Kısaltılmış tamamlama kimliğini tercih ediyorsanız:

git log -1 --format=%h



1

Https://git-scm.com/docs/git-log'a göre , konsoldaki daha güzel çıktılar için git-log komutunun --decorate argümanını kullanabilirsiniz :

git log --pretty=oneline --decorate

yazdıracak:

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

0

git rev-parse --abbrev-ref HEAD


1
Bu, taahhüt kimliğini değil, taahhütle ilişkili herhangi bir adı (dallar veya etiketler gibi) gösterir. Orijinal kullanıcının istediği bu değil.
Asfand Qazi

0

Bu komutu kullanabilirsiniz

$ git rev-list HEAD

Ayrıca kullanabilirsiniz headson göstermeye Unix komutu n HEADgibi kaydedilmesini

$ git rev-list HEAD | head - 2


0

Kullanabilirsiniz

git log -g branchname

çıktı git refloggibi biçimlendirilmiş bilgileri görmek içingit log

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.