Skip to content

Instantly share code, notes, and snippets.

@vorozhba
Last active June 24, 2024 07:39
Show Gist options
  • Save vorozhba/b458077f396191a6105cf91e1739a313 to your computer and use it in GitHub Desktop.
Save vorozhba/b458077f396191a6105cf91e1739a313 to your computer and use it in GitHub Desktop.
Как удалить commit в Github
1. Получаем хэш-код коммита, к которому хотим вернуться.
2. Заходим в папку репозитория и пишем в консоль:
$ git reset --hard a3775a5485af0af20375cedf46112db5f813322a
$ git push --force
@olek07
Copy link

olek07 commented Apr 19, 2022

@vorozhba
Хелло! А можно ли как-то удалить не последние коммиты путем перемещения HEAD назад, а точечно одни коммит из последовательности? Пример, [1,2,3,4] -> [1,3,4]

Через Вебшторм можно, просто удаляешь нужные коммит и пушишь через force. А как с помощью консольных команд не знаю, но точно можно.

Разве так можно? Там же что-то вроде блокчейна. Следующий зависит от предыдущего. Разве нет?

@mpodaniev
Copy link

@vorozhba
Хелло! А можно ли как-то удалить не последние коммиты путем перемещения HEAD назад, а точечно одни коммит из последовательности? Пример, [1,2,3,4] -> [1,3,4]

Через Вебшторм можно, просто удаляешь нужные коммит и пушишь через force. А как с помощью консольных команд не знаю, но точно можно.

Разве так можно? Там же что-то вроде блокчейна. Следующий зависит от предыдущего. Разве нет?
Не знаю на счет блокчейна, и думаю что такого нет в гите.
Но постоянно так делаю, когда в фичебранче что-то разрабатываю, а потом оказывается что в каком-то коммите что-то не нужное добавил, а это могло быть десять коммитов назад к примеру. Просто удалил его локально и через форс пуш обновил данные в удаленном репозитории.
Все, в удаленном репозитории больше нет этого коммита

@SlimDaddy228
Copy link

давно нашел, не раз выручало, красавчик

@maxim-saharov
Copy link

@vorozhba
Хелло! А можно ли как-то удалить не последние коммиты путем перемещения HEAD назад, а точечно одни коммит из последовательности? Пример, [1,2,3,4] -> [1,3,4]

Через Вебшторм можно, просто удаляешь нужные коммит и пушишь через force. А как с помощью консольных команд не знаю, но точно можно.

Разве так можно? Там же что-то вроде блокчейна. Следующий зависит от предыдущего. Разве нет?
Не знаю на счет блокчейна, и думаю что такого нет в гите.
Но постоянно так делаю, когда в фичебранче что-то разрабатываю, а потом оказывается что в каком-то коммите что-то не нужное добавил, а это могло быть десять коммитов назад к примеру. Просто удалил его локально и через форс пуш обновил данные в удаленном репозитории.
Все, в удаленном репозитории больше нет этого коммита

при удалении и при переименовании названия комита - вебшторм там много что шаманит и делает rebase всякий - о чем потом показывает в своей консоле - но если будут конфликты то предложит сравнивать и можно наломать там что то - лучше всегда перед этим делайте бек ап и потом играйтесь)

@yanislav-igonin
Copy link

ПАЦАНЫ, ЭТО БАЙТ

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

@vorozhba чисто для обращения внимания

@japancode
Copy link

Спасибо, полностью очистил историю коммитов как и хотел, а вот статистика в профиле остаётся 🤔

@wowDaiver
Copy link

спасибо

@sydorovay
Copy link

Дякую 👍

@urock190
Copy link

be careful with: git reset --hard a3775a5485af0af20375cedf46112db5f813322a it delete all your current changes, use that command without --hard, then git push --force

Thank you, very useful advice.

@SubwaySerfer
Copy link

Спасибо)

@temka778
Copy link

Спасибо! Во всем интернете почему-то никто не написал про форс.. Благодаря Вам , у меня все получилось!)

@VitaliyProgrammer
Copy link

be careful with: git reset --hard a3775a5485af0af20375cedf46112db5f813322a it delete all your current changes, use that command without --hard, then `git push --force

Thank`s..

@yarosoff
Copy link

be careful with: git reset --hard a3775a5485af0af20375cedf46112db5f813322a it delete all your current changes, use that command without --hard, then git push --force

Thank u!

@iavoxir
Copy link

iavoxir commented Mar 12, 2024

Спасибо)

@aQafresca
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment