2009-05-15 5 views

Antwort

9

So etwas wie

git update-index --remove -- $(git ls-files '*.c') 
+0

Stellen Sie sicher, dass Sie Ihren Platzhalter in der Klausel ls-files angeben, damit er von der Shell nicht interpretiert wird. – bdonlan

+0

gah, ich hätte es besser wissen sollen: | – araqnid

+0

Danke für die Lösung, es hat funktioniert. Aber wenn ich es innerhalb einer Filterzweiganweisung mit dem Muster in einer lokalen Variablen "Muster" verwende, funktioniert es nicht, pattern = '*. C' git filter-branch --index-filter 'git update-index - verbose --remove - "$ (git ls-files - $" (Muster) ")" 'HEAD – kaychaks

0
# for i in pattern; do git-update-index --remove $i; done 

Würde so etwas nicht Ihrem Zweck dienen? (Ich habe noch nie mit git-update-Index gearbeitet, though.)

+0

Dies würde nur Dateien in der Arbeitskopie beeinflussen. – bdonlan