У меня есть простой случай, но он меня озадачивает, и я не нашел в других ответах здесь ничего, что действительно работает.
У меня есть пара слияний до master
что я хочу откатиться.Конечный результат, который я хочу, - это master
, который будет возвращен таким, каким он был до этих коммитов, так что я могу затем перейти из известной хорошей ветки, чтобы убедиться, что master
показывает только код, выпущенный prod.Вот журнал:
my.username@mysystem MINGW64 /c/Git/REPOSITORY (master)
$ git log --oneline
e6a1eed (HEAD -> master, origin/master, origin/HEAD) Merge pull request #26
from PROGRAM/revert-24-int_project_2.1.0
b9b82f0 (tag: PROGRAM_project-2.0.0, origin/int_project_2.0.0,
int_project_2.0.0) Revert "Merge pull request #24 from
PROGRAM/int_project_2.1.0"
c4a6573 Revert "PROGRAM_project_2.0.0"
c3aa6d1 (tag: PROGRAM_project_2.0.0) Merge pull request #24 from
PROGRAM/int_project_2.1.0
**b7e583a** (tag: project_tag_2.1.0_01) Merge pull request #23 from
PROGRAM/dev_project_2.1.0
**54ecb7a** June 2.1.0 release.
**b67f981** Merge pull request #22 from PROGRAM/int_project_2.0.0
f9b81bc (tag: project_tag_2.0.0_04, origin/int_project_2.0.0fix,
int_project_2.0.0fix) Merge pull request #21 from PROGRAM/dev_project_2.0.0
Вот результаты моих попыток отменить слияния (я получил одно слияние (# 24) уже отменено, но позже выяснилось, что нужно было еще два (# 22 и # 23) Вот что произошло, когда я попытался вернуться:
my.username@mysystem MINGW64 /c/Git/REPOSITORY (master)
$ git revert -m 1 b7e583a
On branch master
Your branch is up to date with 'origin/master'
nothing to commit, working tree clean`
В какой-то момент он пожаловался, что у меня произошли изменения в удаленном репо, которых не было в локальном, что не должно бытьслучай с веткой master
, так как в эту ветку не нужно ничего толкать, кроме как при определенных обстоятельствах, поэтому я не уверен, почему git должно заботиться о том, что происходит в других ветках.боюсь, что перезапуск перезапишет мой возврат, сократив те коммиты, которые я возвращаю.
Я относительно новичок в git и github, поэтому у меня много пробелов в понимании, чтобы заполнитьи в этом случае я, вероятно, упускаю некоторые фундаментальные знания или знания, которые, как обычно предполагают, известны более опытным пользователям git.