2013-08-26 4 views
2

Я начинаю работать над некоторыми изменениями на моей основной задаче и понимаю, что работа, которая должна быть выполнена, потребует больше времени, чем ожидалось. Так что я сохраняю свою работу в другой отрасли, как described here с:Восстановить изменения на моей ветке

git checkout -b newClientID 

Я не совершал мои изменения там, так как у меня есть больше, чтобы сделать, чтобы иметь что-то соответствующее для сохранения. Затем я переключаюсь на мой master и сбросить его

git checkout master 
git checkout -- . 

Когда я переключаюсь обратно к моей ветви newClientID Я понимаю, что мои незавершенные изменения были потеряны. любые изменения для их восстановления?

+0

В будущем, если вы хотите сохранить изменения без фиксации, вы, вероятно, захотите рассмотреть возможность использования 'git stash' – acjay

ответ

3

Если вы не совершаете и не сбрасываете рабочее дерево, оно теряется навсегда.

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

Заключив, например, с git commit -m wip, я нахожу его менее подверженным ошибкам, чем git stash, потому что это слишком легко, чтобы git stash pop в неправильной ветке.

+0

Я предполагаю, что я должен был использовать git stash перед изменением ветки. http://git-scm.com/book/en/Git-Tools-Stashing – magdmartin

+0

Ну, я предпочитаю 'git commit -m wip' для' git stash', потому что слишком легко «git stash pop» ошибиться в ветке –

+0

хорошо знать ... Думаю, я запомню это сейчас! – magdmartin

Смежные вопросы