Удалите и игнорируйте все файлы с расширением из репозитория git. - PullRequest
33 голосов
/ 23 февраля 2010

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

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

Ответы [ 4 ]

46 голосов
/ 23 февраля 2010

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

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

find . -name *.pwc | xargs git rm

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

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

17 голосов
/ 31 января 2013

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

git rm -r '*.pwc' 

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

echo '*.pwc' >> .gitignore

Последний случай, если у вас уже есть файл .gitignore, если нет, то используйте один знак «>».

3 голосов
/ 23 февраля 2010

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

1 голос
/ 29 января 2016

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

git rm -r '*.pwc' -f

И для того, чтобы держать его в .gitignore

echo '*.pwc' >> .gitignore
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...