Nasıl belirli bir dize için depodaki Git ve Mercurial tüm tamamlar içinde arama yapmak için?
Birkaç dal ve sarkan taahhüt ile Git deposu var. Belirli bir dize için bir depo olarak tamamlar aramak istiyorum.
Tarih içinde işleyen bir günlük almak için nasıl biliyorum, ama bu dallar ya da sarkan lekeler, BAŞIN sadece tarih dahil etmeyin. Yanlış var ki hepsini, belirli bir taahhüt bulmak için almak istiyorum.
Aynı zamanda geçiş yapmayı düşünüyorum Mercurial olarak bunu yapmak için nasıl bilmek istiyorum.
CEVAP
git log -g iptalleri ile sarkan görebilirsiniz.
-g, --walk-reflogs
Instead of walking the commit ancestry chain, walk reflog entries from
the most recent one to older ones.
Bu sarkan bir tamamlama iletisi belirli bir dize bulmak için yapabilirsiniz, böylece:
git log -g --grep=search_for_this
Eğer belirli bir dize için değişiklik aramak istiyorsanız, alternatif olarak, kazma arama seçeneğini kullanabilirsiniz, "S":
git log -g -Ssearch_for_this
# this also works but may be slower, it only shows text-added results
git grep search_for_this $(git log -g --pretty=format:%h)
Git 1.7.4 9**, sen-pass G&; regexp^ lt için izin verecektir . bir satır içeren bir zaman bulmak için <regexp>-S yapamayacağınız taşındı. -S tek satır dize içeren toplam sayısı (ekleme/dize çıkarmadan yani) değiştirilmiştir.
Son olarak, gitk ile sarkan taahhüt görselleştirmek için kullanabilirsiniz:
gitk --all $(git log -g --pretty=format:%h)
Ve sonra arama özelliklerini yanlış dosya aramak için kullanın. Tüm bu çalışma eksik tamamlama varsayarak "doldu" ve eğer 30 gün ve reflogs ölmeni ya da bunları sona erecek bir komut Çalıştır. sarkan olacak olan çöp toplanan olmuş.

Nasıl dava Vim / küçük harf duyarlı ar...
Nasıl bir WordPress kullanmak yapmadan...
Nasıl belirli bir dize içeren özniteli...
Nasıl/NVARCHAR dize eklemek bir SQL Se...
Nasıl Mercurial' 'hg' t...