Фиксация нажата, но нигде не видна в репо - PullRequest
0 голосов
/ 09 апреля 2020

Пожалуйста, помогите мне, я потерял работу 4 последних дня.

Я работал над веткой, скажем, филиал-а

Я сделал

git add .

git commit -m "......"

Тогда я получил

git commit -m "......"
[branch-a c570a27] ......
55 files changed, 538 insertions(+), 333 deletions(-)
///more here of all files changed

Затем я сделал

git push origin master

(находясь на ветке-а, я подумал, что это все равно будет sh, чтобы освоить) Затем я получил это на console

Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/rsbix/website.git
   7da90b9..1da7015  master -> master

После этого изменения не были активными, поэтому я решил, что они были на ветке-a вместо master

Так я сделал

git reset --hard origin/branch-a

И потерял все. Новых изменений там нет

Итак, я продолжил делать

git reset --hard origin/master

Все потеряно

Этот параметр c commit 7da90b9..1da7015, я не я не могу найти его и не могу сбросить его, потому что в ответе консоли неполные цифры

Когда я делаю git, последний коммит тоже не появляется

1 Ответ

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

К счастью, git reflog предоставляет вам историю ваших локальных git коммитов.

Формулировка довольно сложна для понимания, поэтому я поместил оба потока ниже ( или, может быть, вам понадобится немного и того, и другого).

Поток 1, при условии, что у вас есть нужные вещи локально, но теперь они «потеряны»:

Сначала выполните git reflog, чтобы найти SHA коммита, к которому вы хотите go вернуться. Скопируйте SHA. Затем запустите стандартный git reset --hard <SHA> до go к этому моменту времени.

Как только вы восстановите свои ветви локально, git push их в нужное место, вам может потребоваться принудительное pu sh,

Поток 2, все удаленно правильно, но вы локально перетащили его в неправильное место:

Чтобы найти код, который вы только что отправили на пульт, выполните команду git fetch и тогда git branch -r покажет вам список удаленных веток с префиксом origin/.

Найдите «правильную» ветвь и потяните ее.


Как правило, остановите возиться с git reset --hard, если вы не уверены на 100%, что знаете, что делаете. Лучше оформить SHA в новом филиале.

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