У меня небольшая проблема, связанная с git. В начале проекта у меня чистый поток (рис. 1 и 2). Рисунок 1 взят из Intellij, а рисунок 2 - после выполнения команды gitk &
. Как и ожидалось, мы видим те же состояния.
Но после слияния "branch3" с "master" мы понимаем что это нехорошо и хочу удалить этот коммит. Выполняем следующую команду: git reset --hard HEAD~1
. Как и ожидалось, после выполнения этой команды мы находимся в следующем состоянии:
И из этого состояния мы создаем новую ветвь "branch4". До этого момента все работает как положено. Но после того, как мы пу sh "branch4" и слили его с веткой "master", мы получаем следующую проблему:
Как вы можете видеть, у нас все еще есть "Commit on branch3" и "Merged in branch 3". Пожалуйста, посоветуйте мне, как я могу удалить эти коммиты, так как я не хочу иметь никаких записей об этих коммитах (чтобы они были похожи на первое изображение). Потому что, очевидно, git reset --hard
не удаляет удаленные коммиты. Я хотел бы подчеркнуть, что нажатие было выполнено с использованием следующей команды git push --force
Какую команду я должен использовать вместо этого?
PS С git reset --soft
я получил то же самое.