Я знаю, что таких вопросов уже много, но, тем не менее, если возможно, я бы предпочел еще раз проверить, правильно ли я это делаю, потому что последнее, что я хочу, это испорченное дерево коммитов.Я случайно слил так называемую ветку stage с моей веткой задач и перенес ее на удаленный компьютер.Это последние коммиты в моей ветке задач:
commit 0b7215203eb10cb11bba94147b170ca51a45e8b2 (HEAD -> ISSUE-1771, origin/ISSUE-1771, stage)
Merge: 87f0fc3 d3e6f17
Author: AUTHOR
Date: DATE
Merge branch 'stage' of PATH_TO_PROJECT into ISSUE-1771
commit 87f0fc31b94b68e10d3b49a19facf4474a1799d6
Author: AUTHOR
Date: DATE
COMMIT_MESSAGE
Теперь я хотел бы отменить коммит, и я собираюсь сделать это следующим образом:
$ git checkout ISSUE-1771 && git revert 87f0fc3 -m 1
который, если я не очень сильно ошибаюсь, должен вернуть дерево обратно к тому, что было в 87f0fc3.
Так что после того, как я сделаю реверсию, я собираюсь нажать на удаленныйВетвь задачи выглядит так:
$ git push origin ISSUE-1771
, затем извлекайте stage
и извлекайте изменения из ветви ISSUE-1771
, они объединяются в stage
и затем отправляются на удаленныйstage
.
Так и должно быть:
$ git push origin ISSUE-1771
$ git checkout stage && git pull origin ISSUE-1771
$ git push origin stage
Это правильно?