2014-10-25 4 views
1

После того, как я долго не работал в приложении, я снова начал и не смог разобраться с ошибкой.Undo git merge after origin pull

Так что проверка из предыдущего местного отделения, установил его, а затем я сделал это:

git checkout master 
git pull origin master 
git merge new_master 
git push origin master 

(не понимая, что я собирался объединить его с предыдущими ошибками)

Затем я попытался несколько вещей, которые я обнаружил при переполнении стека, и теперь я полностью потерян.

Как я могу отступить от этого?

Я вытащил мастера из github.

ответ

0

Вы можете отметить текущую master ветвь (что не так как вы хотели бы)

git branch tmp 

Вы можете вернуть мастеру старше фиксации (посмотреть на историю мастера на GitHub, и выбрать SHA1 перед вашим толчке)

git reset --hard old_SHA1 

Тогда вы можете посмотреть на историю местного TMP филиала и cherry-pick the commit(s) you want to apply to master.

Как только это будет сделано, вы можете заставить толчок к зарождению:

git push --force origin master 
0

Попробуйте восстановить его:

Узнайте хэш мерзавца слияния

мастер мерзавец фотографии git pull изначальный хозяин git merge новый_master git кнопка изначальный хозяин

git log с, затем (Undoing Merges):

$ git revert -m 1 hash_founded 

Но, если вы хотите, чтобы вернуться до мерзавец тянуть, вы должны пойти на

$ git revert -m 2 hash_founded 

-т option "указывает родительский номер (начиная с 1) основной линии и позволяет вернуться назад к изменению относительно указанного родителя." (git revert)

Вы всегда можете сбросить настройки: Revert to a previous Git commit

Смежные вопросы