Лучший способ справиться с этой ситуацией - использовать какой-то шаблон .gitignore
для игнорирования определенных типов файлов, возможно, также для записи файлов, которые вы хотели бы игнорировать, в определенном месте.
Например,, если вы пытаетесь игнорировать двоичные изображения, вы можете поставить *.jpg
, *.png
и *.gif
(или любой другой формат).Вы также можете использовать отрицательные шаблоны, если вы хотите исключить отсутствие расширений, например типичные двоичные имена Unix, хотя вам проще записать все эти двоичные файлы в один каталог build
, который затем игнорируется.
Если по какой-либо причине это невозможно, то эффективнее использовать другой вызов.grep
может указывать имена файлов, которые ему соответствуют, а с параметром -I
он не будет соответствовать двоичным файлам.Таким образом, вы можете сделать вашу команду более эффективной, написав следующее:
find . -type f -print0 | xargs -0 grep -IlZ . | xargs -0 git add
Обратите внимание, что эта команда также исключает пустые файлы и, возможно, файлы, содержащие только символы новой строки.Это может быть приемлемо для ваших нужд, однако.