Я ищу способ внесения изменений в ветви функций после их объединения с мастером. Цель состоит в том, чтобы сохранить ветвь функции только в том случае, если она связана с ней.Изменения в ветви функции после слияния с мастером
Часто бывает, что функция требует дополнительной полировки после того, как она уже была нажата для управления. Изменения, которые были сделаны для освоения в течение этого времени, не противоречат этой функции, а это означает, что при реализации дополнительной работы в ветви признака возможна перестановка фактического мастера.
На рисунке ниже показана ситуация:
подход я использовал до сих пор: перебазироваться освоить и объединить функции обратно освоить
Против -> The ветвь функции теперь продиктована частями от мастера.
Вопрос: Какие подходы вы берете на практике, чтобы решить эту проблему?
Пример кода
Для описания ниже подходов является код, чтобы создать структуру репо из примеров.
# mkdir test
git init
touch master-change-file
git add master-change-file
git commit -m "initial commit"
echo 1 > master-change-file
git commit -a -m "master commit 1"
echo 2 > master-change-file
git commit -a -m "master commit 2"
git checkout -b feature
echo 3 > feature-change-file
git add feature-change-file
git commit -a -m "feature commit 1"
echo 4 > feature-change-file
git commit -a -m "feature commit 2"
echo 5 > feature-change-file
git commit -a -m "feature commit 3"
git checkout master
git merge --no-ff feature -m "Merge branch 'feature'"
git checkout feature
echo 6 > feature-change-file
git commit -a -m "feature commit 4"
echo 7 > feature-change-file
git commit -a -m "feature commit 5"
git checkout master
echo 8 > master-change-file
git commit -a -m "master commit 3"
echo 9 > master-change-file
git commit -a -m "master commit 3"
# gitk --all
Не уверен, что вы подразумеваете под 'push'. Из контекста я бы догадался, что это «быстрое слияние»? – TheMeaningfulEngineer
После выполнения rebase вы будете «git push» этой функции в «master». Это не нормальное слияние, потому что слияние оставляет вас с одной фиксацией, и быстрая пересылка 'master' может оставить вас с _many_ коммитами из ветви функции. –
В любом случае, только два варианта, которые я действительно вижу, - это переустановка функции на 'master' и fast-forward' master', _or_, чтобы просто слить новые коммиты с функции в 'master'. –