Ответ 1
Вам нужно reset в начало/мастер:
git reset --hard origin/master
В svn или subclipse я могу просто выполнить "возврат" в корневом проекте, и все мои локальные изменения будут отброшены, а src будет обновлен до последней версии в HEAD. Кажется, я не нашел эквивалент этого в git, хотя несколько блогов утверждают, что они одинаковы.
Это то, что я сделал:
попробовал git pull, он внес изменения, но предупредил о конфликте
попробовал git reset --hard HEAD
, но ничего не произошло. Я все еще вижу совершенные конфликтующие изменения.
Я, должно быть, попробовал несколько других команд, которые я не помню. Мне просто нужно вернуться к удаленной голове и не беспокоиться о том, в каком состоянии находится мое местное репо.
Помощь?
Вам нужно reset в начало/мастер:
git reset --hard origin/master
git reset --hard @{u}
выкинет все локальные изменения и reset вашу текущую ветвь в свою ветвь вверх. Это работает, только если вы установили эту информацию (например, путем клонирования с последней версией git или с помощью git push -u
). Если у вас нет этой информации, но вы знаете ветвь вверх по течению, вы можете использовать git reset --hard origin/master
(предполагая, что origin/master
- это название ветки восходящего потока).
Вы хотите git reset
, но вы, вероятно, захотите вернуться назад к одному сообщению раньше, так как вы перенесли эти файлы в ваш HEAD на домашнем Mac.
git reset --hard HEAD^
Если вы беспокоитесь о том, чтобы что-то повредить, вы всегда можете сделать git log
, захватить хэш для фиксации, к которой хотите вернуться (отбрасывание изменений в домашнем Mac) и git reset --hard
к этому хешу.
Для простого возврата вы можете использовать: git checkout
git checkout <master>