Многократная фиксация вишни
У меня есть 33 фиксации в основной ветки, которые сведены. Теперь мне нужно вести запись аккуратно. Итак, теперь я создал ветки функций, и я пытаюсь классифицировать эти 33 фиксации в разных ветвях функций. Таким образом, можно ли одновременно выбирать несколько коммитов для копирования в соответствующей ветки функции? И я также столкнулся со своими конфликтами, когда я пытался совершить несколько коммитов с помощью команды вишневого выбора.
git cherry-pick A B C
здесь A, B, C - хэш-код коммитов.
Ответы
Ответ 1
Вы делаете это правильно. Сводка -
git cherry-pick [--edit] [-n] [-m parent-number] [-s] [-x] [--ff] <commit>...
git cherry-pick
идет слева. Вы можете заказать, как хотите.
Если у вас есть конфликт, у вас есть три варианта. вы можете git cherry-pick --quit
(прекратите сбор вишни и пусть ваше дерево в его текущем состоянии), git cherry-pick --abort
(прекратите сбор вишни и reset вашу ветку до состояния, где он был, прежде чем вы начнете git cherry-pick
), или разрешите это конфликт с редактором или с git mergetool
, а затем git cherry-pick --continue
перейти к следующему фиксации в вашем списке.
Ответ 2
Если вам нужно аккуратно вести запись, вам лучше создать ветвь темы и запустить git rebase -i <commit before the 33rd>
, интерактивную rebase. Следуйте инструкциям по удалению коммитов. Это должно быть проще, чем сбор вишни, так что многие совершают в определенном строгом порядке.