Git тянуть удаленные локальные файлы - PullRequest
0 голосов
/ 27 апреля 2020

В моем проекте перед отправкой в ​​удаленную ветку я просто выполнил команду git pull, и она просто удалила все (новые) локальные файлы, которых не было в ветке. И я не получил резервную копию, если файлы удалены, это должно быть где-то на моем компьютере, верно?

Кто-нибудь сталкивался с подобной проблемой?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 27 апреля 2020

Позвоните git reflog, чтобы показать историю ваших действий в этом репо. Вы должны увидеть что-то вроде этого:

bb3139b... HEAD@{0}: pull : Fast forward
622f05a HEAD@{1}: commit: here i'm committing new local files

По сути, вы хотите найти последний сделанный вами коммит до того, как вы потеряли свои файлы. Вы хотите зафиксировать 622f05a, поэтому используйте это:

git reset 622f

Это "отменит" ваше извлечение, но вы можете просто git pull снова, когда захотите вернуть эти удаленные обновления.

1 голос
/ 27 апреля 2020

Поскольку вы зафиксировали свои изменения в локальном git, вы можете избавиться от всех изменений и перейти к текущей / предыдущей фиксации (которую вы предпочитаете).

Это вернет все к вашей текущей фиксации. (избавление от всех изменений, поэтапных или иных):

git reset HEAD --hard

Это вернет все к предыдущему коммиту (также избавляясь от всех изменений, поэтапных или иных):

git reset HEAD^ --hard

^ рядом с заголовком означает один коммит перед заголовком, где заголовок находится там, где вы сейчас находитесь. Вы можете go два коммита назад, используя ^^, или три с ^^^. Кроме того, вы можете использовать тильду, чтобы указать количество коммитов: ~ 3 для трех коммитов назад.

git reset HEAD~3 --hard

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...