Подтвердить что ты не робот

Отмените слияние git (пока не нажата)

Я только что внес некоторые изменения в одну из моих ветвей функций ( "feedback_tab" ), затем проверил "мастер" и объединил их там. Я на самом деле хотел объединить их в свою ветку разработки.

Теперь мастер опережает "origin/master" (его удаленный) на 17 коммитов - я не подтолкнул слияние (и не хочу, очевидно). Как вернуть мастер обратно в то же состояние, что и до случайного слияния? Я смущен между git revert и git reset этим материалом.

Я посмотрел в свой git журнал и там нет записи для объединения feedback_tab в master. Я бы подумал, что это будет верхняя запись?

Бит путают:/любая помощь приветствуется! макс

4b9b3361

Ответ 1

git reset --hard HEAD~17 возвращает вас назад на 17 коммитов впереди главы мастера. git rebase -i HEAD~17, вероятно, также избавится от дополнительных коммитов.

Ответ 2

Чтобы отменить слияние, которое НЕ было нажато:

git reset --merge ORIG_HEAD

Если во время слияния вы получаете конфликт, лучший способ отменить слияние:

git merge --abort

Ответ 3

Взято из git reset

Undo a merge or pull

    $ git pull                         <1>
    Auto-merging nitfol
    CONFLICT (content): Merge conflict in nitfol
    Automatic merge failed; fix conflicts and then commit the result.
    $ git reset --hard                 <2>
    $ git pull . topic/branch          <3>
    Updating from 41223... to 13134...
    Fast-forward
    $ git reset --hard ORIG_HEAD       <4>

Ответ 4

Этот, безусловно, будет работать!

git reset --hard HEAD~1 
git init

Первый возвращает те изменения, которые вы недавно сделали (слияние) второй запустит репо на последнее (поэтому будет быстро переходить к последнему по происхождению)

Я пробовал

git reset --merge

но это не помогло.