Как только вы нажимаете на репо, вы действительно не хотите менять историю. Однако, если вы абсолютно уверены, что, что никто не вытащил/не взял из репо с вашего оскорбительного коммита, у вас есть 2 варианта.
Если вы хотите полностью удалить фиксацию (и каждое совершение, которое появилось после этого), выполните git reset --hard ABC~
(при условии, что хеш фиксации равен ABC
). Затем сделайте git push -f
.
Если вы просто хотите отредактировать эту фиксацию и сохранить сделанные после нее коммиты, сделайте git rebase -i ABC~
. Это запустит ваш редактор, показывая список ваших коммитов, начиная с оскорбительного. Измените флаг «pick» на «e», сохраните файл и закройте редактор. Затем внесите необходимые изменения в файлы и сделайте git commit -a --amend
, затем выполните git rebase --continue
. Следуйте за этим до git push -f
.
Я хочу повторить, эти параметры доступны только вам, если никто не выполнил ни тятки, ни извлечения, которые содержат оскорбительную фиксацию. Если они это сделают, выполнение этих шагов только ухудшит ситуацию.
Итак, основное предложение: всегда проверяйте свои фиксации один за другим, прежде чем нажимать их. ВСЕГДА. – ckruczek
Возможный дубликат [Удалить конфиденциальные файлы и их фиксации из истории Git] (http: // stackoverflow.com/questions/872565/remove-sensitive-files-and-their-commits-from-git-history) –