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

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

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

Это то, что я сделал:

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

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

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

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

Помощь?

4b9b3361

Ответ 1

Вам нужно reset в начало/мастер:

git reset --hard origin/master

Ответ 2

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

Ответ 3

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

git reset --hard HEAD^

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

Ответ 4

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

git checkout <master>