Случайно я отправил файлы.pyc в главный репозиторий. Теперь я хочу удалить их, но не могу этого сделать. Есть ли способ удалить их прямо с сайта Bitbucket?
Удалите файлы .pyc из удаленного репозитория Git
Ответ 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.