Я видел ответ на вопрос здесь, который помогает восстановить удаленный файл в мерзавце.
Решение было
git checkout ^ --
Что делает символ вставки (^
)? Я видел его, в другом месте делая очень полезные вещи в мерзавце. Это волшебно. Кто-то испортите его для меня и скажите мне, что это делает?
HEAD ^
означает первый родитель конца текущей ветки.
Помните, что коммиты git могут иметь более одного родителя. HEAD ^
- это сокращение от HEAD ^ 1
, и вы также можете обращаться к HEAD ^ 2
и т. Д. По мере необходимости.
Вы можете связаться с родителями любой коммит, а не только HEAD
. Вы также можете перемещаться между поколениями: например, master ~ 2
означает прародителя вершины основной ветви, отдавая предпочтение первому родителю в случаях двусмысленности. Эти спецификаторы могут быть связаны произвольно
, например , тема ~ 3 ^ 2
. См. Соответствующий ответ на В чем разница между HEAD ^
и HEAD ~
в Git?
Для получения полной информации см. «Указание ревизий» раздела git rev-parse --help
.
Каретка относится к родительскому элементу конкретной фиксации. Например, HEAD ^
относится к родительскому объекту текущего коммита HEAD. (также HEAD ^^
относится к дедушке и бабушке).
Карат представляет смещение фиксации (родителя). Так, например, HEAD ^
означает «одна фиксация из HEAD», а HEAD ^^^
означает «три фиксации из HEAD».
(^) получает родительский источник команды, то есть HEAD ^ получает родительский источник HEAD.
Это означает «родитель». Итак, HEAD ^
означает «родительский элемент текущего HEAD». Вы даже можете связать их вместе: HEAD ^^
означает «родительский родитель текущего HEAD» (т. Е. Прародитель текущего HEAD), HEAD ^^^
означает «родительский элемент родительского элемента текущего HEAD» и т. д.