SORU
28 Mayıs 2010, Cuma


Nasıl (arama) gıt tarihinde kaydedilmiş kod grep için?

Geçmişte bir ara bir dosya veya bir dosya içinde bazı kod sildiniz. İçeriği (değil commit iletileri) grep miyim?

Çok kötü bir çözüm log grep:

git log -p | grep <pattern>

Ancak bu karma hemen tamamlama dönüş yok. Etrafta boşuna git grep ile oynadım.

CEVAP
28 Mayıs 2010, Cuma


Arama için taahhütiçerikyapman gereken şey (yani, mesajları ve benzeri taahhüt aksine kaynak, gerçek hat):

git grep <regexp> $(git rev-list --all)

Güncelleştirmeleri: git rev-list --all | xargs git grep expression eğer "Tartışma çok uzun" hata . liste içine çalıştırırsanız çalışacaktır

Bu regexp için tüm tamamlama metin grep üstesinden gelir.

Burada kaynak ararken diğer bazı kullanışlı yolları vardır:

Metin eşleşen düzenli ifade regexp için çalışmaya ağacı arama:

git grep <regexp>

Metin satırları için arama çalışma ağacı düzenli ifade regexp1 veya regexp2: eşleşen

git grep -e <regexp1> [--or] -e <regexp2>

Arama metin satırları için ağaç düzenli ifade regexp1 eşleştirme çalışma ve regexp2, dosya yolları raporlama:

git grep -e <regexp1> --and -e <regexp2>

Metin satırları metin düzenli ifade regexp2 eşleşen düzenli ifade regexp1 ve çizgiler eşleşen dosyaları için çalışmaya ağacı arama:

git grep -l --all-match -e <regexp1> -e <regexp2>

Metin eşleşen düzenli ifade regexp için tüm düzenlemeleri arama:

git grep <regexp> $(git rev-list --all)

Arama metin eşleşen düzenli ifade regexp için rev1 ve rev2 arasındaki tüm düzeltmeleri:

git grep <regexp> $(git rev-list <rev1>..<rev2>)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • eurotuner

    eurotuner

    6 Mart 2006
  • ::..ηєѕѕ мιχ..::

    ::..ηєѕѕ

    15 Aralık 2006
  • Sergio Fernandez

    Sergio Ferna

    1 EKİM 2009