Изменения двух разных веток делаются в одной ветке - PullRequest
0 голосов
/ 03 марта 2020

У меня было две разные ветви, скажем, BranchA и BranchB. Я проверил на BranchB и внес изменения в FeatureB. В дополнение к FeatureB я также внес необходимые изменения в FeatureA! Теперь я хочу, чтобы только изменения FeatureB были отправлены в BranchB, и только изменения FeatureA будут отправлены в BranchA. Пожалуйста, помогите!

1 Ответ

2 голосов
/ 03 марта 2020

У вас есть это.

      C - FB - FA [branchB]
     /
A - B [master]
     \
      D - E [branchA]

A, B, C, et c - это всего лишь некоторые коммиты. FA и FB представляют коммиты для функции A и функции B.

Вы хотите это.

      C - FB [branchB]
     /
A - B [master]
     \
      D - E - FA [branchA]

Есть несколько способов справиться с этим. Вот один из них.

Во-первых, cherry-pick функция A превращается в филиал A. Это скопирует коммит. Могут быть конфликты.

git checkout branchA
git cherry-pick FA

      C - FB - FA [branchB]
     /
A - B [master]
     \
      D - E - FA [branchA]

Затем удалите коммит (ы) из branchB с помощью интерактивной перебазировки.

git checkout branchB
git rebase -i master

Подойдет редактор. Удалите строки с ошибочными коммитами, и Git перезапишет оставшиеся коммиты в BranchB поверх мастера.

      C - FB [branchB]
     /
A - B [master]
     \
      D - E - FA [branchA]

См. История перезаписи в Git Книге для получения дополнительной информации.

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