"git checkout ../../ ..": что это значит - PullRequest
0 голосов
/ 25 июня 2018

Я случайно набираю

git checkout ../../..

, когда на самом деле имел в виду

cd ../../..

Я понимаю, что все мои незафиксированные изменения пропали.Можно ли как-нибудь их восстановить?

Спасибо!

1 Ответ

0 голосов
/ 25 июня 2018

Если вы использовали git checkout <em>path</em> и оно перезаписало незафиксированные изменения, эти изменения, как правило, пропадают без возможности восстановления (хотя ваша ОС может предлагать какой-либо не-Git метод, например, Time Machine на OS X).См. Также Вернуть изменения после случайной проверки?

В строке вашего вопроса спрашивается, что:

git checkout ../../..

означает.Он сообщает Git, что Git должен извлечь каталог ../../.. из текущего коммита, т. Е. Из любого подподкаталога, в котором вы находитесь, например, a/b/c/, если ваш макет содержит каталог верхнего уровня a,подкаталог b в a и подкаталог c в b.В этом конкретном случае - поднявшись на три уровня вверх, от каталога на три уровня вниз - вы попадете в каталог верхнего уровня, так что он будет проверять (извлекать) каждый файл в индексе, перезаписывая версии рабочего дерева.

Если вы были на четыре уровня ниже - например, в a/b/c/d/ - это скажет Git перезаписать копию рабочего дерева каждого файла в a/ из индексной копии.

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