Удалить файл из коммита, который был отправлен (git pull) на сервер

Рейтинг: 1Ответов: 2Опубликовано: 15.03.2015

Волей случая, и моей неосторожности, попал в репозиторий тестовый файл довольно большого размера, который не должен был туда попасть. Заметил я это, когда начал делать push на сервер.

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

В общем, нагуглил несколько решений:

http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/ru/ch05.html

http://dalibornasevic.com/posts/2-permanently-remove-files-and-folders-from-git-repo

http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/ru/ch05.html

Меня интересует вопрос, после инструкций, приведенных по этим ссылкам, файл удаляется из истории, но при этом размер репозитория остается таким же, как и с этими файлами в индексе. ЧЯДНТ? Или так и должно быть, файлы, однажды добавленные в индекс, физически остаются в репозитории навсегда?

После этих операций вывод команды git status будет таким:

: git status 
В ветке dev
Your branch and 'origin/dev' have diverged,
and have 1 and 1 different commit each, respectively.
  (use "git pull" to merge the remote branch into yours)
нечего фиксировать, рабочая директория пуста

Т.е. имеем расхождение в одном и том же коммите на сервере и у меня. Вопрос: как мне мою версию с удаленными из истории файлами запушить на сервер? )

Ответы

Ответов пока нет.