Понимание того, как «git checkout» работает с локальным репо

#git #commit #checkout #git-log

Вопрос:

Предположим , у меня есть репозиторий с файлом A.txt В удаленном репозитории с некоторым идентификатором фиксации, этот файл содержит строку "Hello, World!" , но я хочу клонировать его на свой локальный компьютер и изменить эту строку на "Goodbye, World!"

После git clone и git commit -m "Hello to Goodbye" я вдруг понимаю, что это не то, чем я действительно хочу заниматься и пытаюсь вернуть свое "Hello, World!"

После этого git checkout -b stable_version <commit-id> у меня появилось сообщение о состоянии «отсоединенной ГОЛОВЫ», но в файле нет видимых изменений A.txt .

Итак, мой вопрос в том, что именно я должен сделать для отката назад "Hello, World!" ?

Комментарии:

1. сделай git reset <commit-id> это вместо этого. Или git reset --hard <commit-id>

2. Ваша команда оформления заказа выглядит хорошо. Он должен был создать ветвь stable_version в первой редакции (если идентификатор правильный), и вы должны быть там. У вас нет причин находиться detached HEAD в данный момент (по крайней мере, после оформления заказа, который у вас там есть). Ты занимался другими делами? Возможно, вам следует вставить весь набор команд git и их выходные данные, чтобы более точно рассказать вам, что произошло.

Ответ №1:

попробуйте использовать git reset

в принципе, введите команду git reset <Your Commit Id> , и она вернется в состояние до того, как была совершена фиксация