К счастью, 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 в новом филиале.