Taahhüt içeren tüm etiketler nasıl listelenir?


227

Bu soru, git'teki belirli bir işleme işaret eden tüm etiketleri nasıl listeleyeceğinize benzer , ancak bir farkla: Her bir etiketin ağacı içinde belirli bir kesinleştirme içeren tüm etiketleri aramak istiyorum, özellikle etikette işaretlenmiş dosyaları değil (bu durumda yalnızca Makefile değişikliği etiketlendi).


1
Belirli bir dosyayı etiketleyemezsiniz - etiketler yalnızca taahhütleri gösterir. Sorunuzu, gerçekten çözmeye çalıştığınız sorunun daha ayrıntılı ayrıntılarıyla düzenlemek isteyebilirsiniz.
Mark Longair


Not: Windows üzerinde, isterseniz emin git 2.0.x (2014) kullanmak için yapmak git tag --containsiçin değil çökmesine. Aşağıdaki cevabımı
VonC

Yanıtlar:


348
git tag --contains <commit>

2
Bunu denedim. Ancak etiket yalnızca bir dosya içeriyorsa, yalnızca bu dosyada arama yaptığına inanıyorum. Ağacı aramayacak. Ayrıca, üzerinde denedim depo çok büyük git kefalet ve SIGKILL'ed var.
atx

21
Etiketler dosya içermiyor. Onlar sadece bir taahhüt için belirteçlerdir. Buna göre itirazınızın mantıklı olduğunu düşünmüyorum.
amalloy

Bu durumda hafıza yetersizliğinden dolayı bana taahhütte bulunmamalı. Bunu nasıl aşabileceğimi biliyor musun?
atx

5
Bunu uzaktan etiketlere karşı yapmanın bir yolu var mı? git branch -r --contains <commit>
Mike

23

Belirli bir işlem için tüm etiketleri listelemek için git 2.0.x (2014 3. Çeyrek) sürümüne ihtiyacınız olduğunu unutmayın Büyük bir varsa

Bkz. Taahhüt cbc60b6 , Jean-Jacques Lafay ( lanfeust69) :

git tag --contains: yığın taşmasını önleme

Büyük depolarda, özyineleme uygulaması contains(commit, commit_list) bir yığın taşmasına neden olabilir. Özyinelemeyi düzeltmek için bir döngü ile değiştirin.

Bu sorun, Windows'ta yığının varsayılan olarak daha sınırlı olduğu Linux'ta olduğundan daha belirgindir.

Ayrıca msysGit listesindeki bu konuya bakın .


9
Hiçbir ceza planlanmış değil mi? ;-)
MikeSchinkel

3
@MikeSchinkel Şey ... en azından kasıtlı değil .
VonC

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.