2013-08-08 3 views
1

Я сделал некоторые корректировки кода, чтобы оценить некоторые функции нашего программного обеспечения. Эти изменения были внесены в версию программного обеспечения, скажем dev_1. У нас есть официальная версия программного обеспечения в CVS, поэтому я проверил dev_1, инициировал git repo и сделал несколько коммитов. Теперь мой коллега приходит и говорит «эй, я сделал некоторые корректировки в алгоритме, и я хотел бы знать, как выглядит ваша оценка с моей версией кода, моя версия находится в CVS-объявлении dev_2».Проблемы с перезагрузкой git cherry-pick

Итак, я проверил dev_2 из CVS и проиндексировал git repo. Теперь мне нужно применить мои изменения, которые я сделал dev_1 для dev_2. Я решил сделать чернильные коммиты из dev_1 repo и применить их к dev_2.

Однако я сделал некоторую ошибку во время слияния cherrypicking, и теперь моя рабочая работа dev_2 кажется измененной, и я не знаю, как добраться до состояния, где оно было, прежде чем я попытался сделать вишневый выбор.

Есть ли какой-то способ, как добраться до состояния до сбора вишни? В чем разница между вишневым выбором - абортом и вишневым киком --quit (кажется, не помогает)? И, наконец, как вы думаете, что может подойти, чтобы решить эту проблему, хорошо или есть еще более простой подход?

Спасибо

ответ

1

Сначала сделать git status проверить состояние. Тщательно проверьте, что он печатает.

  • Если он говорит вам, что вы находитесь на ветке «мастера» просто есть некоторые werid (для вас) состояние файлов, сделать

    git reset --hard 
    

    вернуться индекс и рабочее дерево обратно состояние вершины проверенной ветви «хозяин».

  • Если он говорит вам, что вы находитесь в состоянии «отдельностоящий ГОЛОВА», сделать

    git checkout master 
    

    , а затем продолжить, как и в первом случае.

Дополнительная информация о сбросе находится в отличной статье "Reset Demystified".

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