Ответ 1
git reset --hard HEAD~17
возвращает вас назад на 17 коммитов впереди главы мастера. git rebase -i HEAD~17
, вероятно, также избавится от дополнительных коммитов.
Я только что внес некоторые изменения в одну из моих ветвей функций ( "feedback_tab" ), затем проверил "мастер" и объединил их там. Я на самом деле хотел объединить их в свою ветку разработки.
Теперь мастер опережает "origin/master" (его удаленный) на 17 коммитов - я не подтолкнул слияние (и не хочу, очевидно). Как вернуть мастер обратно в то же состояние, что и до случайного слияния? Я смущен между git revert
и git reset
этим материалом.
Я посмотрел в свой git журнал и там нет записи для объединения feedback_tab в master. Я бы подумал, что это будет верхняя запись?
Бит путают:/любая помощь приветствуется! макс
git reset --hard HEAD~17
возвращает вас назад на 17 коммитов впереди главы мастера. git rebase -i HEAD~17
, вероятно, также избавится от дополнительных коммитов.
Чтобы отменить слияние, которое НЕ было нажато:
git reset --merge ORIG_HEAD
Если во время слияния вы получаете конфликт, лучший способ отменить слияние:
git merge --abort
Взято из 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>
Этот, безусловно, будет работать!
git reset --hard HEAD~1
git init
Первый возвращает те изменения, которые вы недавно сделали (слияние) второй запустит репо на последнее (поэтому будет быстро переходить к последнему по происхождению)
Я пробовал
git reset --merge
но это не помогло.