Случайно переданная база данных разработчиков в Git - PullRequest
4 голосов
/ 09 апреля 2010

Я случайно передал свой файл development.sqlite3 в Git, и, похоже, он замедляет мои коммиты. Я знаю о .gitignore, но удаляет ли это файл из моего хранилища, как только я это сделаю? Моя задача - сократить время коммитов и пуша.

Ответы [ 3 ]

6 голосов
/ 09 апреля 2010

Нет необходимости в изяществе с filter-branch - это только в одном недавнем коммите. Если нет, просто удалите файл (git rm --cached <filename>) и измените свой коммит (git commit --amend). Опция --cached указывает git удалять только копию в индексе (область размещения фиксации) и оставлять версию в рабочем дереве нетронутой.

Если это еще дальше в истории, вы можете использовать интерактивную перебазировку (git rebase -i <commit before the bad one> master), выбрать edit плохой коммит и rm / поправить, как и раньше. Обязательно добавьте его и в свой gitignore, конечно же.

Обратите внимание, что если вы уже выдвинули этот коммит, вам придется использовать push -f, чтобы толкнуть не-быструю перемотку вперед, и если кто-то уже вытянул его, они будут раздражены раздел «восстановление из исходной версии» на странице руководства git-rebase.

1 голос
/ 09 апреля 2010

Попробуйте это:

  git filter-branch --tree-filter ´rm filename´ HEAD
0 голосов
/ 09 апреля 2010

Нет. Все, что делает файл .gitignore, - говорит различным инструментам пользовательского интерфейса Git игнорировать этот файл при пакетном внесении изменений. Вы по-прежнему можете вручную помещать любой отдельный файл в базу данных Git, и добавление записей там не приведет к удалению чего-либо из базы данных Git.

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