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

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

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

4b9b3361

Ответ 1

  • Удалите .pyc файлы с помощью git rm *.pyc. Если это не работает, используйте git rm -f *.pyc
  • Commit git commit -a -m 'all pyc files removed'
  • Нажмите git push
  • В дальнейшем вы можете игнорировать файлы .pyc, создав файл .gitignore

Ответ 2

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

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

*.pyc
*~
*.swp

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

Ответ 3

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

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

Ответ 4

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

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

Ответ 5

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

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

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

find . -name *.pyc -delete

Ответ 6

Чтобы удалить все .pyc файлы, используйте git rm -rf *.pyc

Затем добавьте *.py[co] в файл .gitignore. (Это предотвратит фиксацию файлов .pyc и .pyo в будущем)

Ответ 7

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

  • вы можете создать локальный .gitignore (не должен быть нажат) и добавить *.pyc как строку;
  • вы можете скопировать .gitignore в репозиторий Github и добавить *.pyc в качестве строки в этом файле! Вы можете нажать его или сохранить в своем локальном репо!

Ответ 8

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

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


  • щелкните правой кнопкой мыши + Pydev/ Удалить *.pyc *.pyo и * $файл py.class

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

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

  • щелкните правой кнопкой мыши + команда/фиксация

В окне фиксации вы не увидите никакого .pyc, доступного для добавления по мере удаления. Кроме того, если вы делали такие файлы до этого, вы должны иметь возможность зафиксировать их "удаление" сейчас.

=== > В вашем локальном и серверном репозиториях теперь нет *.pyc *.pyo и * $py.class File:)

Ответ 9

Однострочный для удовольствия:

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

Ответ 10

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

найти. -name '*.pyc' -exec git rm {} \;

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