Как удалить объектные файлы из прошлого git commit для github.com? - PullRequest
0 голосов
/ 31 июля 2010

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

Я забыл удалить объектные файлы и затем выполнил git add -A. Затем я отсканировал несколько man страниц и использовал какой-то интерактивный режим, а после некоторых попыток удалил объектные файлы.

Затем я выполнил git push origin master, чтобы «загрузить» файлы на удаленный сервер на github.com. Он превратился в три коммита.

Итак, мои последние четыре коммита состоят из:

  • 0) Прошлый коммит, который хорош и денди.
  • 1) Фиксация с объектными файлами плюс изменения кода
  • 2) Фиксация при удалении объектных файлов.
  • 3) В коммите был добавлен файл .gitignore (который кто-то прислал мне более месяца назад).

По сути, я хочу, чтобы после 0 был один коммит, разность которого должна показывать все изменения, кроме каких-либо свидетельств этих чертовых объектных файлов. Как мне это сделать, если это возможно, пожалуйста?

1 Ответ

2 голосов
/ 31 июля 2010

Локально, используйте git rebase --interactive или ваш любимый инструмент git, чтобы получить историю, которая вам нравится.Затем используйте git push origin master -f, чтобы принудительно ввести вашу версию master в репозиторий github.

Имейте в виду, что пересмотр уже опубликованной истории означает, что вам нужно обратиться ко всем, кто уже извлек эти исправленные изменения, и дать им указание получитьновые изменения и отказ от старых, если они выполнили работу над ними.

...