2013-07-11 2 views
11

Я хотел, чтобы вернуть все локальные изменения сЧто делает «git checkout -.» делать?

git checkout -- . 

но случайно сделал

git checkout - . 

и он сделал много локальных изменений, которые я не могу понять.

Что делает вторая команда, и можно ли вернуть то, что было сделано?

+0

Если он что-то делает, это ошибка ... не может узнать, как это может произойти при чтении http://www.git-scm.com/docs/git-checkout – CharlesB

+0

Сингл - будет проигнорирован. – Layke

+0

'git checkout .' (без тире) работает для меня отлично. – balki

ответ

10

git checkout - проверяет ранее проверенную ветку. Поэтому я бы предположил, что git checkout - . заменит содержимое рабочей копии содержимым ранее проверенной ветки.

Вы не можете отменить это, но так как вы хотели в любой момент сбросить содержимое своего рабочего каталога, почему бы вам просто не запустить git checkout -- .?

Возможно, вы захотите использовать в будущем git reset --hard, чтобы отменить все изменения в отношении текущей ветви. Он также сбрасывает индекс.