Подтвердить что ты не робот

Удалять и игнорировать все файлы, имеющие расширение из репозитория git

Я работаю над проектом django с несколькими другими разработчиками, и мы недавно поняли, что все .pwc файлы в нашем приложении забивают коммит и репозиторий.

Есть ли способ удалить все .pwc файлы из всех дочерних каталогов в моем репозитории git, а затем игнорировать их для любой будущей фиксации?

4b9b3361

Ответ 1

Множество способов их удаления:

git ls-files | grep '\.pwc$' | xargs git rm

find . -name *.pwc | xargs git rm

Примечание. Если вы их не совершили, просто используйте rm, а не git rm.

Чтобы игнорировать их в будущем, просто добавьте *.pwc в .gitignore. (Если у вас его нет, создайте файл с именем .gitignore на верхнем уровне вашего репозитория и просто добавьте одну строку с надписью "*.pwc" )

Ответ 2

Вы также можете использовать следующее:

git rm -r '*.pwc' 

а затем эти файлы игнорируются git:

echo '*.pwc' >> .gitignore

Последний вариант, если у вас уже есть файл .gitignore, если нет, то мы будем отмечать сингл ' > '.

Ответ 3

Ответ Jefromi удалит их для настоящего и будущего... вы могли бы также удалить их в прошлом, используя git filter-branch. Конечно, это имеет некоторые другие последствия, например, требуя, чтобы все остальные, работающие над репо, переучились (и, возможно, отменили любую работу, которую они не перенесли на основное репо). Зависит от того, насколько велики файлы PWC, вы можете сделать это, если они тратят много дискового пространства в вашем репо (поскольку каждый раз, когда вы клонируете репозиторий git, вы получаете каждый файл и каждую ревизию)

Ответ 4

В Windows это сработало для меня:

git rm -r '*.pwc' -f

И для сохранения в .gitignore

echo '*.pwc' >> .gitignore