Git 1.9.0'da "sihirli kelime" s'ye exclude
eklendi pathspec
. Eşleşenler foobar
hariç her dosyada arama *.java
yapmak istiyorsanız şunları yapabilirsiniz:
git grep foobar -- './*' ':(exclude)*.java'
Veya !
hariç tutmak için "kısa formu" kullanarak :
git grep foobar -- './*' ':!*.java'
V2.12'ye kadar git sürümlerinde, bir hariç tutma kullanırken pathspec
en az bir "dahil" olması gerektiğini unutmayın pathspec
. Yukarıdaki örneklerde bu ./*
(geçerli dizinin altındaki her şeyi özyineli olarak ekleyin). Git v2.13 bu kısıtlama kaldırıldı ve git grep foobar -- ':!*.java'
olmadan çalışır ./*
.
Reponun üst kısmındaki her şeyi dahil etmek için :(top)
(kısa form :) gibi bir şey de kullanabilirsiniz :/
. Ancak, muhtemelen hariç tutma pathspec
durumunuzu en baştan başlayacak şekilde de ayarlamak istersiniz : :/!*.java
(aksi takdirde yalnızca *.java
geçerli dizininizin altındaki dosyaları hariç tutar ).
Bir izin tüm "sihirli kelime" için iyi bir referans var pathspec
en git-scm.com (ya da sadece git help glossary
). Bazı nedenlerden dolayı, kernel.org'daki dokümanlar, Google aramalarında sıklıkla ilk gelmelerine rağmen gerçekten güncel değil.