Удаление файла после выполнения git commit, убедитесь, что его нет в master - PullRequest
5 голосов
/ 28 мая 2011

Я добавил 50мб файл или около того и сделал g it commit.

Я начинаю делать:

git push origin master

Но на полпути я отменил операцию.

  1. как я могу удалить этот файл из репозитория, даже если я сделал git commit (я добавил его в .gitignore сейчас, но вроде как поздно)
  2. как узнать, находится ли файл в мастере или нет?

Я не хочу стереть весь коммит, поскольку есть другие файлы, которые я хочу зафиксировать (и не потерять).

Ответы [ 3 ]

2 голосов
/ 28 мая 2011

Хорошо, что вы отменили это.

Удалить гигантский файл.

git add -A
git commit --amend -C head
git push origin yourbranch

С тобой должно быть все в порядке.

0 голосов
/ 28 мая 2011

Шаг первый. НЕ НАЖИМАЙТЕ Если вы нажали, сообщите, сделав что-то радикальное.

Решение: Это был последний сделанный вами коммит?

Шаг второй - lastcommit: git commit --amend

Шаг второй - oldcommit: прочитайте и следуйте странице man git-rebase, чтобы узнать о разбиении коммитов

Stepтри: прочитайте и следуйте странице man git-filter-branch, чтобы узнать, как сжимать каталог .git.Это не критично, и в конечном итоге это произойдет автоматически.

Шаг четвертый: Сделайте из своего текущего репо клона, чтобы еще раз проверить, не застрял ли большой файл.Проверьте по размеру репо и отсутствию файла.

Шаг пятый: Нажмите

0 голосов
/ 28 мая 2011

Здесь есть еще один очень похожий вопрос, который описывает несколько вариантов:

Полное удаление файла из всей истории изменений репозитория Git

Самое простое решение - команда git filter-branch.

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