Удалять.файлы pyc из удаленного репозитория Git

случайно, я нажал .pyc-файлы в главный репозиторий. Теперь я хочу удалить их, но я не могу этого сделать. Есть ли способ удалить их непосредственно с сайта Bitbucket?

спасибо заранее.

10 ответов


  1. удалить .pyc файлы с помощью git rm *.pyc. Если это не работает используйте git rm -f *.pyc
  2. фиксация git commit -a -m 'all pyc files removed'
  3. пуш git push
  4. в будущих коммитах вы можете игнорировать .pyc файлы путем создания

нет, вы не можете удалить их непосредственно из интерфейса BitBucket, но вы can удалить их в вашей локальной проверки и find ./ -type f -name '*.pyc' -exec git rm {} \; (или просто git rm каждый файл pyc по одному ). Затем зафиксируйте / нажмите изменения.

наконец, чтобы избежать повторения той же ошибки, вы можете создать файл в корне вашего РЕПО и назвать его".gitignore ' с содержанием:

*.pyc
*~
*.swp

*~ и ~.swp-это другие часто забываемые типы файлов, которые часто случайно толкаемый. См. документ github на gitignore https://help.github.com/articles/ignoring-files (и их РЕПО .файлы gitignore для некоторых хороших значений по умолчанию).


git rm *.pyc --cached
git commmit -a -m'remove pyc from index'
git push

PS: Я вижу дату вопроса, но это решение выглядит лучше, имхо. Может, это кому-то поможет.. .


Thie работал на меня,

find . -name '*.pyc' | xargs -n 1 git rm --cached

я использовал решение simeg, но также хотел удалить тонны *.файлы pyc, добавленные по ошибке в ветку. Я использовал awk для рекурсивного удаления их из кэша.

git status | awk '{if(=="modified:" && !=".gitignore") ; system("git rm --cached ")}'

затем я удалил файлы из моего локального

find . -name *.pyc -delete

удалить все .pyc файлы git rm -rf *.pyc

добавить *.py[co] на .gitignore. (Это предотвратит .pyc и .pyo файлы от получения совершенных в будущем коммитов)


потому что в Bitbucket по умолчанию нет .gitignore файл в репо, так что вы можете сделать:

  1. вы можете создать локальный .gitignore (не следует нажимать) и добавить *.pyc как линия;
  2. вы можете скопировать .gitignore в репо Github и add *.pyc как строка в этом файле! Вы можете нажать его или сохранить в своем местном РЕПО!

быстрый способ с PyDev для eclipse.

перейдите в Проводник пакетов PyDev вашего проекта и выполните:


  • щелкните правой кнопкой мыши + пункт PyDev / удалить *.пыць *.pyo и * $py.файл класса

    появится окно, сообщающее вам, сколько файлов было удалено.

необязательно: зафиксируйте изменение в команда / сервер:

  • щелкните правой кнопкой мыши +

ОДН-вкладыш для потехи:

git status | grep pyc | sed -e 's/ new file: //g' | xargs -I {} git rm --cached {}


еще один вкладыш для удовольствия, чтобы удалить все файлы pyc.

найти . -имя.*' пыць' -exec для ГИТ РМ {} \;

Не забудьте выполнить шаги в других ответах, чтобы зафиксировать и добавить gitignore.