Есть ли git revert, похожий на svn revert? Мне нужна одна команда, чтобы стереть * все * в моем локальном и установить его на удаленную голову - PullRequest
22 голосов
/ 10 сентября 2011

В svn или subclipse я могу просто выполнить «возврат» корневого проекта, и все мои локальные изменения будут отменены, а src обновлен до последней версии в HEAD. Кажется, я не нахожу подобного в git, хотя несколько блогов утверждают об этом.

Вот что я сделал:

  • передал 10 файлов с моего домашнего компьютера Mac. не нажал.
  • передал те же 10 и более файлов с рабочего компьютера и нажал.
  • вернулся домой, и я хочу взять последние новости от удаленного источника / мастера.

попробовал git pull, внес изменения, но предупредил о конфликте

пытался git reset --hard HEAD, но ничего не произошло. Я все еще вижу совершенные конфликтующие изменения

Должно быть, я пробовал несколько других команд, которые я не помню. Мне просто нужно вернуться к удаленному руководителю и не беспокоиться о состоянии моего локального репо.

Помощь?

Ответы [ 4 ]

30 голосов
/ 10 сентября 2011

Вам нужно сбросить на источник / мастер:

git reset --hard origin/master
7 голосов
/ 10 сентября 2011

git reset --hard @{u} отбросит все локальные изменения и сбросит текущую ветвь в свою ветвь восходящего направления. Это работает, только если вы установили эту информацию (например, путем клонирования с последней версией git или с помощью git push -u). Если у вас нет этой информации, но вы знаете ветвь вверх по течению, вы можете использовать git reset --hard origin/master (при условии, что origin/master здесь - название ветви вверх по течению).

1 голос
/ 04 мая 2016

Для простого возврата вы можете использовать: git checkout

git checkout <master>
1 голос
/ 10 сентября 2011

Вы хотите git reset, но, возможно, вы захотите вернуться на один коммит раньше, поскольку вы зафиксировали эти файлы в HEAD на домашнем Mac.

git reset --hard HEAD^

Если вы беспокоитесь о том, чтобы что-то испортитьвверх, вы всегда можете сделать git log, получить хеш для коммита, к которому вы хотите вернуться (без изменений вашего домашнего mac), и git reset --hard к этому хешу.

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