Как отменить локальные изменения и вытащить последние данные из репозитория GitHub
У меня есть каталог на моей машине, где я храню все проекты из GitHub.
Я открыл один из них и внес изменения локально на моей машине.
Проект был испорчен, и теперь я хочу отменить все сделанные мной изменения и извлечь последнюю версию из репозитория.
Я относительно новичок в GitHub (используя Git Shell).
Будет ли git pull
будет достаточно?
Нужно ли делать что-то еще, чтобы отменить изменения, сделанные локально?
Ответы
Ответ 1
git reset - это то, что вы хотите, но я собираюсь добавить пару дополнительных вещей, которые вы могли бы найти полезными, но другие ответы не упоминали.
git reset --hard HEAD
сбрасывает ваши изменения до последнего коммита, который отслеживал ваш локальный репо. Если вы сделали коммит, не отправили его на GitHub и хотите его тоже выбросить, см. Ответ @absiddiqueLive.
git clean -df
все новые файлы или каталоги, которые вы, возможно, добавили, на случай, если вы захотите выбросить их. Если вы не добавили ничего, вам не нужно запускать это.
git pull
(или если вы используете оболочку git с клиентом GitHub) git sync
получит новые изменения из GitHub.
Измените путь в будущем: на прошлой неделе я обновил свою оболочку git и заметил, что команда git sync
больше не определяется по умолчанию. Для записи, ввод git sync
был эквивалентен git pull && git push
in bash. Я нахожу это все еще полезным, так что это в моем bashrc.
Ответ 2
Выполните следующие команды
git log
Из этого вы получите свой последний хэш-хеш-ключ фиксации
git reset --hard <your commit hash key>
Ответ 3
Если вы уже зафиксировали изменения, вам придется отменить изменения.
Если вы еще не сделали коммит, просто выполните чистую проверку git checkout.
Ответ 4
В дополнение к ответам выше, всегда есть метод выжженной земли.
rm -R <folder>
в оболочке Windows команда выглядит так:
rd /s <folder>
Тогда вы можете просто оформить заказ снова:
git clone -v <repository URL>
Это определенно удалит все локальные изменения и извлечет последние данные из удаленного репозитория. Будьте осторожны с rm -R, так как он удалит ваши хорошие данные, если вы введете неправильный путь. Например, определенно не делайте:
rm -R /
редактировать: исправить орфографию и добавить акцент.
Ответ 5
Чтобы перетащить старое репо.
git push -u origin master --force
Я думаю, что --force
будет работать и для pull.