Dalam git 1.9.0 "kata ajaib" excludeditambahkan ke pathspecs. Jadi jika Anda ingin mencari foobardi setiap file kecuali yang cocok, *.javaAnda dapat melakukannya:
git grep foobar -- './*' ':(exclude)*.java'
Atau menggunakan !"formulir singkat" untuk mengecualikan:
git grep foobar -- './*' ':!*.java'
Perhatikan bahwa dalam versi git hingga v2.12, saat menggunakan pengecualian pathspec, Anda harus memiliki setidaknya satu "inklusif" pathspec. Dalam contoh di atas ini adalah ./*(secara rekursif menyertakan semuanya di bawah direktori saat ini). Dalam git v2.13 pembatasan ini dicabut dan git grep foobar -- ':!*.java'berfungsi tanpa ./*.
Anda juga dapat menggunakan sesuatu seperti :(top)(formulir pendek:) :/untuk memasukkan semuanya dari atas repo. Tetapi kemudian Anda mungkin juga ingin menyesuaikan pengecualian Anda pathspecuntuk memulai dari atas: :/!*.java(jika tidak, itu hanya akan mengecualikan *.javafile dari bawah direktori Anda saat ini).
Ada referensi yang baik untuk semua "kata ajaib" diperbolehkan dalam pathspecdi git-scm.com (atau hanya git help glossary). Untuk beberapa alasan, dokumen di kernel.org benar-benar ketinggalan zaman meskipun mereka sering muncul pertama kali dalam pencarian google.