Как создать запрос на извлечение из части ветви? - PullRequest
1 голос
/ 21 мая 2019

У нас есть главная, общая ветка, которая называется «разработка», и я создал ветку, которая называется «функция». На этом этапе мы решили, что мы хотим создать запрос на извлечение только для части «функциональной» ветви, чтобы он мог вернуться к «разработке» и быть легко рассмотренным другими товарищами по команде. Остальная часть ветки «feature» не будет выброшена, и в будущем ей потребуется объединить ее биты с «развитием». Как мне это сделать?

Должен ли я создать новую ветку вне разработки, а затем использовать "git checkout", чтобы вытащить только определенные файлы из ветки "feature" и зафиксировать их в этой новой ветке (таким образом я могу сделать для нее запрос на извлечение) ? Если это так, то есть ли лучшая стратегия возвращения будущих элементов «функциональности» к разработке, чем запоминание вручную того, что было перенесено, а что нет?

Этот пост был хорошим ориентиром.

Заранее спасибо.

1 Ответ

1 голос
/ 21 мая 2019

Хорошо ... при условии, что ветвь функции имеет n (не имеет значения число) ревизий после того, как она была отделена от разработки:

git checkout -b branch1 feature
git reset --soft $( git merge-base HEAD develop ) # go back to the last common revision
# at this point all files changed on develop will be on index
# reset the files that you want on the other branch only keep on index the files you want to keep on branch1
git reset filec filee # will keep filea, fileb and filed on this branch
git commit -m "branch 1 - blah blah"
# there you have your branch1 with changes on filea, fileb and filed
git checkout -b branch2 feature
git reset --soft branch1 # so that we don't need to pick the files for this branch
git commit -m "Branch2 - blah blah" # will commit changes for filec and filee

На данный момент ревизии идут одна за другой,если вы хотите разделить их, запустите это после предыдущих:

git rebase --onto branch1~1 branch1 branch2

Это переместит branch2 в параллельную ветвь.

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