Я нажал прямо на ветку разработки без запроса на извлечение. Как мне отменить это?

Я пытаюсь отменить все коммиты, выдвинутые Джеймсом, а также получить его коммиты на моем локальном компьютере и вернуться к коммиту, выдвинутому Брэндоном, который

d65fa2faf06a5c4d8d379f963feece2bf2edef98. 

Я пытался делать

git revert a586cc1ff0c5abf535a4d0873c458a812dca28dd..1dcc0e8adc5433a5b092e3b813496ac52de7aa43

- но по каким-то неизвестным причинам это выдает мне эту ошибку

    hint: Waiting for your editor to close the file... error: There was a problem with the editor 'vi'.
Please supply the message using either -m or -F option.

и в конце он только возвращается 1dcc0e8adc5433a5b092e3b813496ac52de7aa43

вот мой мерзавец журнала развивающейся ветви

commit 1dcc0e8adc5433a5b092e3b813496ac52de7aa43 (origin/develop, feat_SS_250.fixes)
Author: <james@ueharanoMacBook-Pro.local>
Date:   Tue Feb 5 17:50:20 2019 +0900

    schema added

commit fee01a2dcf3432b7da6e9e6b1ff030ad288d919d
Author: <james@ueharanoMacBook-Pro.local>
Date:   Tue Feb 5 17:48:49 2019 +0900

    rebase

commit 7f226d84029e608721417b8e99be1a88c6ae3a84
Author: <james@ueharanoMacBook-Pro.local>
Date:   Tue Feb 5 16:03:07 2019 +0900

    initial commit

commit a586cc1ff0c5abf535a4d0873c458a812dca28dd
Author: <james@ueharanoMacBook-Pro.local>
Date:   Thu Jan 24 11:42:08 2019 +0900

    added login.php

commit d65fa2faf06a5c4d8d379f963feece2bf2edef98
Author: brandon <brandon@xxxx.co.jp>
Date:   Tue Feb 5 14:52:04 2019 +0900

    feat: fp 50

commit 9988b6587f9e2fa77d86e9e1f856bf57e667daca
Author: brandon <brandon@xxxx.co.jp>
Date:   Tue Feb 5 14:25:51 2019 +0900

    feat: contract 50

2 ответа

Решение

Вы можете...

git reset --hard d65fa2f
git push -f origin develop

Примечание: предложит вам сделать резервную копию вашего пульта перед force подталкивая любые изменения. Кроме того, если кто-то извлек ветку, в которой есть изменения Джеймса, он может получить ошибки в следующий раз, когда попытается pull филиал.

В моем случае, возможно, я бы сделал так:

(01) Сбросьте количество последних коммитов и сохраняйте коммиты поэтапно:

$ git reset --soft HEAD~<num_of_commit_from_HEAD>
$ git status
$ git log
$ git push -f origin <branch_name>

Здесь, в вашем случае num_of_commit_from_HEAD знак равно 4 а также branch_name знак равно develop,

(02) Сбросьте количество последних коммитов и удалите коммиты:

$ git reset --hard HEAD~<num_of_commit_from_HEAD>
$ git status
$ git log
$ git push -f origin <branch_name>

Здесь, в вашем случае num_of_commit_from_HEAD знак равно 4 а также branch_name знак равно develop,

Другие вопросы по тегам