Как я могу отменить изменения, используя 'git pull'? - PullRequest
4 голосов
/ 15 марта 2011

Я сделал 'git pull' вместо 'git pull --rebase'.

SHA: 138937298d80a7c84d0630b1db509ca2596aca91  // top of my git

<< some changes I got from 'git pull' >>
SHA:

SHA:
<< end of some changes I got from 'git pull' >>

SHA: 08ebb55902e206a30d6f344b4684bd525970dda3  // my original top of my git before i do anything.

Мой вопрос: как мне отменить изменения, которые я получил от 'git pull', и затем я делаюa 'git pull --rebase'?

Другой вопрос: я использую 'gitx' на Mac, изменения, которые я получил от 'git pull', находятся на другой вертикальной линии, и те, которые у меня изначально были.Это почему?Спасибо.

Ответы [ 2 ]

3 голосов
/ 15 марта 2011

Найдите другую ГОЛОВКУ, к которой вы хотите вернуться, используя git reflog, а затем сбросьте ее до коммита. Обычно, если вы ничего не сделали после извлечения, это будет git reset --hard HEAD@{1}

1 голос
/ 15 марта 2011

Допустим, вы находитесь на master и хотите внести удаленные изменения в origin/master и перенести вашу работу в "официальную" ветку, но вы допустили ошибку:

git pull origin

Теперь у вас есть слияние вашей работы и материала с сервера;это не то, что вы хотели!

git stash save
git reset --hard HEAD@{1}
git stash apply

Теперь вы вернулись туда, где вы были до вытягивания, но вы все еще хотите поместить свои изменения поверх того, что было на сервере ...

git rebase origin/master

Ну вот, все готово!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...