Есть ли способ удалить коммит из истории вашего текущего HEAD в git? - PullRequest
0 голосов
/ 20 февраля 2019

без git rebase -i HEAD~(1+whatever the depth of the commit is)?например, что-то вроде git drop iu34kjh233

Я работаю над более похожим на cvs рабочим процессом (и я не могу сказать, как это изменить), поэтому мы высаживаем один коммит вишенкой поверх master навремя.Иногда я буду работать над двумя вещами: HEAD в качестве основы и commit1 поверх HEAD и commit2 поверх commit1.Было бы удобно иметь возможность просто git drop commit1 && git push -f mygithubrepo HEAD:refs/heads/myprbranch, когда я хочу PR commit2.Есть ли способ сделать это?

1 Ответ

0 голосов
/ 20 февраля 2019

Я не думаю, что есть какой-либо чистый способ сделать это без git rebase

Если вы не возражаете против грязной истории, вы все равно можете git revert <commit_sha>, которая создаст инвертированный коммит для того, который вы хотите отбросить.

Не забывайте, что rebase - очень универсальный и мощный инструмент, его тоже сложно использовать.

Большинство из-за того, что если вы удалите один коммит из средней части истории, высоздать новый поток истории, с коммитом sha-s, полностью отличающимся от того, чем они были изначально.Выполнение любой автоматической / скриптовой работы вокруг этого опасно.Особенно, когда ветвь уже передана удаленному.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...