У меня небольшая проблема, связанная с git. В начале проекта у меня чистый поток (рис. 1 и 2). Рисунок 1 взят из Intellij, а рисунок 2 - после выполнения команды gitk &
. Как и ожидалось, мы видим те же состояния.
![This image is from gitk](https://i.stack.imgur.com/ICjyZ.jpg)
Но после слияния "branch3" с "master" мы понимаем что это нехорошо и хочу удалить этот коммит. Выполняем следующую команду: git reset --hard HEAD~1
. Как и ожидалось, после выполнения этой команды мы находимся в следующем состоянии:
![This image is from gitk after git reset](https://i.stack.imgur.com/p68B8.jpg)
И из этого состояния мы создаем новую ветвь "branch4". До этого момента все работает как положено. Но после того, как мы пу sh "branch4" и слили его с веткой "master", мы получаем следующую проблему:
![This image is from Intellij](https://i.stack.imgur.com/x9L4c.jpg)
![This image is from gitk](https://i.stack.imgur.com/FqOVS.jpg)
Как вы можете видеть, у нас все еще есть "Commit on branch3" и "Merged in branch 3". Пожалуйста, посоветуйте мне, как я могу удалить эти коммиты, так как я не хочу иметь никаких записей об этих коммитах (чтобы они были похожи на первое изображение). Потому что, очевидно, git reset --hard
не удаляет удаленные коммиты. Я хотел бы подчеркнуть, что нажатие было выполнено с использованием следующей команды git push --force
Какую команду я должен использовать вместо этого?
PS С git reset --soft
я получил то же самое.