git reset --soft "HEAD ^ 6", что это значит? - PullRequest
0 голосов
/ 09 апреля 2019

Я запустил git reset --soft "HEAD^6" по своему локальному репо по ошибке, после чего я запустил git reset --soft "HEAD^"

Теперь я могу найти более 100 файлов с локальными изменениями

Что git reset --soft "HEAD^6" это значит?

Редактировать: для тех, кто спросит, почему я это сделал, это была опечатка.

Ответы [ 3 ]

5 голосов
/ 09 апреля 2019

О reset --soft

git reset --soft <commitHash> будет перемещаться HEAD без изменения состояния ваших файлов ( doc ).

Вот почему git status внезапно видит различия. Теперь он сравнивает ваш (неизменный) код с более старой ссылкой. Но ваши файлы не изменились, когда вы сделали две последние операции.


Об уточнении HEAD^6

HEAD^6 будет пытаться указать на шестого родителя HEAD commit. Это не удастся в большинстве ситуаций. То есть, если ваш HEAD коммит не является результатом (по крайней мере) шестигранного слияния осьминога. Я думаю, мы можем исключить это.


Заключение

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

2 голосов
/ 09 апреля 2019

Как уже упоминалось, он меняет ГОЛОВУ на шестого родителя.Чтобы вернуться в предыдущее состояние, вы можете выполнить сброс на пульте дистанционного управления с помощью git reset --hard origin/<branch>.Если вы не выполнили свои изменения, посмотрите на git reflog, затем выполните git reset --hard <sha>.

0 голосов
/ 09 апреля 2019

git reset --soft «HEAD ^ 6» возвращает последние 6 коммитов в рабочий каталог.если ваши изменения будут перенесены в удаленный режим, вы можете вернуться в предыдущее состояние на git reset --hard origin/<<branch>>

...