Проблема выбора вишни в Visual Studio 2019 - PullRequest
1 голос
/ 06 марта 2020

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

Но я хотел бы знать, что я сделал неправильно, поэтому я не буду делать это снова.

У меня было две ветви в хранилище, master и dev. Я сделал одно конкретное изменение в dev, которое я хотел распространить обратно к мастеру. Итак, следуя некоторым указаниям, которые я нашел в Интернете, я сделал мастер активной веткой, щелкнул правой кнопкой мыши ветку dev и выбрал Cherry Pick. Думая, что мне дадут список истории коммитов на dev, из которого я выберу тот, который хотел (который был самым последним).

Только ... казалось, ничего не произошло. Ничто не показывалось при Изменениях.

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

Все еще ничего не происходило. Но я заметил изменение кода (оно было в одном месте в одном файле) >> появилось << в главной (активной) ветке. </p>

Но когда я попытался синхронизировать c локальный репозиторий с github Мне сказали, что произошла ошибка, связанная с некоторым несоответствием между github и локальным хранилищем (извините, я не думал копировать сообщения об ошибках). Вещи вышли из-под контроля (я думаю, что я пытался вытащить изменения из github, чтобы вылечить несоответствие, а затем закончил с другой ошибкой из-за того, что голова локального хранилища находилась за головой хранилища github или что-то в этом роде).

Если это плохое описание даст достаточно подсказок о том, как я все испортил, и что я должен был сделать, я был бы признателен за информацию.

1 Ответ

1 голос
/ 06 марта 2020

Использование командной строки в этом случае было бы безопаснее, с git cherry-pick.

A git reflog также помогло бы восстановить ситуацию, но позволяя вам сбросить до более старого коммита (до этих операций)

Как показано здесь (с Visual Studio 2019), ищите разрешение конфликтов при выборе вишни, иначе это будет " застрял "в промежуточном состоянии, которое Visual Studio не может определить хорошо.

...