@antowkacom

Как удалить опрелённый комит в git-е, без удаления последующих?

Суть проблемы такова. Имеется 250 комитов, 241 нужно исключить(удалить) из ветки, он попал в неё мерджем. git reset --hard hash-comit не подходит т.к. откати и комиты выше 241. Всем пасиб за советы зарание ;)
  • Вопрос задан
  • 5902 просмотра
Пригласить эксперта
Ответы на вопрос 5
Eternalko
@Eternalko
Вот хороший алгоритм решения таких проблем:
f57b04ecacf640ee952d2a91dcaa4046.png

Сейчас и на будущее
Ответ написан
Комментировать
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Есть как минимум два варианта, правильный со всех сторон -- git revert <идентификатор коммита>. Коммит останется в истории, и добавится ещё один коммит отменяющий его.
Второй вариант -- переписать историю с помощью git rebase -i, но если у вас там мёрж, то результат будет плохим.
Ответ написан
Комментировать
@antowkacom Автор вопроса
Всем пасиб! Помогло))) revert
Ответ написан
denegny
@denegny
на самом деле постановка вопроса "удалить коммит" для тех кто пользуется Гитом может резать ухо, потому что все программисты знают, что код можно рефакторить до бесконечности, поэтому команда

git revert


не очень популярна у разработчиков, чаще пользуются командой отмены последнего коммита

git commit --amend


в вашем случае, мне кажется лучше сделать новый коммит, внести те изменения, которые вы хотели отменить/добавить из волнующего вас коммита, а в комментариях к новому коммиту можно написать, почему были внесены изменения и указать идентификатор коммита
Ответ написан
@Yaolegol
git filter-branch --force (чтобы не удалился каталог с жесткого диска)
git filter-branch --tree-filter "rm -rf PATH" HEAD
где PATH - путь к файлу/папке

Как удалить директорию в Git?
https://help.github.com/en/articles/removing-sensi...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы