.png)
Я сделал несколько локальных коммитов в своей кодовой базе и попытался отправить ее в свой репозиторий, но там было довольно много больших файлов. Я просто сдался и продолжил работу, делая локальные коммиты. Я удалил большие файлы и снова сделал коммит, но он все еще пытается отправить исходные большие файлы. Я пытался добавить gitignore после того, как я изначально их закоммитил, чтобы игнорировать все файлы больше 50 МБ, но безрезультатно.
Есть идеи?
решение1
Читатьздесьо фильтре-ветке.
Кто-то случайно закоммитил огромный двоичный файл с помощью бездумного git add ., и вы хотите удалить его отовсюду. Возможно, вы случайно закоммитили файл, содержащий пароль, и вы хотите сделать свой проект с открытым исходным кодом. filter-branch — это инструмент, который вы, вероятно, захотите использовать для очистки всей своей истории. Чтобы удалить файл с именем passwords.txt из всей своей истории, вы можете использовать опцию --tree-filter для filter-branch:
$ git filter-branch --tree-filter 'rm -f passwords.txt' HEAD
Rewrite 6b9b3cf04e7c5686a9cb838c3f36a8cb6a0fc2bd (21/21)
Ref 'refs/heads/master' was rewritten
Вы также можете сделать интерактивный rebase на вашей ветке в точке, где вы закоммитил эти файлы, и удалить их из этого коммита. Ссылка выше также объясняет это, но в основном:
git rebase -i HEAD~X
позволит вам редактировать последние X коммитов.