как вернуть мое приложение к определенному коммиту, который я сделал на github

#git #github

#git #github

Вопрос:

Я кое-что сделал со своим репозиторием git, и я думаю, что копаю дыру глубже.

Прямо сейчас я просто хочу иметь возможность получить все мои текущие файлы в том состоянии, в котором они были, когда я в последний раз отправлял их на github. Однако у меня нет подключения к Интернету на этом компьютере. Итак, что мне делать? У меня есть git внутри, и git log показывает, что коммит, который я хочу, начинается с c3e535f8cb.....

Я просто хочу вернуть весь мой каталог к этому коммиту. выполнимо ли это с помощью git?

прямо сейчас мне нечего фиксировать

git status Шоу

 # on branch master
# your branch is ahead of 'origin/master' by 3 commits
#  nothing to commit (working directory clean)
  

Ответ №1:

Попробуйте следующее:

 git reset --hard c3e535f8cb
  

Примечание: вы потеряете изменения в своем репозитории, индексе и рабочем каталоге, начиная с c3e535f8cb. При необходимости рассмотрите другие варианты --soft --mixed . но поскольку вам, похоже, нечего фиксировать (очистить wd и индексировать), вы можете сделать выше. Но вы потеряете коммиты. Используйте git reflog , чтобы вернуть их обратно, а затем снова используйте git reset для «сброса» к этим коммитам.

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

1. в этой команде говорится, HEAD is now at C3e5e5f ... однако, когда я открываю свои файлы, они не совпадают с файлами, которые отображаются на github для этого коммита. хорошо, я получил один коммит до этого, и файлы изменены. Я предполагаю, что если при моем последнем переходе на github я изменил только один файл, а затем, если я это сделаю reset --hard , он просто выдаст мне ЭТОТ файл .. вместо того, чтобы предоставить мне ВСЕ файлы, какими они были в последнем коммите.

Ответ №2:

Я настоятельно рекомендую вам выполнить пробный запуск с --soft опцией, чтобы убедиться, что вы получите желаемые результаты.

Если вы не отправили новые изменения вверх по потоку, вы могли бы легко снова получить изменения вверх по потоку, а затем выполнить сброс, который подходит лучше.

Я надеюсь, что вы успешно справились с поставленными целями 🙂