Как отменить локальные изменения и вытащить последние данные из репозитория 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.