Как выполнить перебазирование с помощью запроса на перенос в Bitbucket - PullRequest
0 голосов
/ 09 мая 2020

Наша команда использует Bitbucket для совместной работы, и мы включили рабочий процесс pull-request для веток master и develop. Это означает, что эти две ветки становятся доступными только для чтения и не могут быть push изменены. Их можно изменить только путем создания из них ветки, внесения изменений, проталкивания ветки, создания из нее запроса на вытягивание, а также с помощью другого члена команды, который просматривает его и объединяет запрос поверх исходной ветки. К сожалению, при создании запроса на слияние интерфейс Bitbucket по умолчанию имеет значение master вместо фактической родительской ветви текущей функциональной ветки, и иногда члены команды забывают изменить его на develop перед созданием запроса на слияние или его утверждением. Это привело к тому, что master и develop расходятся друг от друга, и теперь мы не можем объединить develop поверх master, когда мы хотим выпустить.

Если develop не было запрещено push к, я мог бы rebase это из master, применить все несуществующие коммиты, а затем push --force, чтобы сделать его потомком из master.

Я пробовал ветвиться от develop и rebase, используя его из master, чтобы он включал все коммиты из master, а затем отправил его как запрос слияния на develop, но есть конфликты слияния, и Bitbucket отказывается разрешить его слияние.

Теперь я застрял. Как я могу решить эту проблему?

1 Ответ

1 голос
/ 09 мая 2020

Вы можете оформить заказ в свою ветку master и взять самую последнюю из master через

git pull --rebase origin master

Поскольку вам запрещено делать sh как master, так и develop, вы можете попробовать выйти в новую ветку из master через

git checkout -b <new-branch-name>

Теперь вы войдете, переустановите свою develop ветку

git rebase develop

Теперь у вас будет все коммиты, которые находятся в мастере и разработке, вы можете удалить ветку develop через

git branch -D develop
git push -d origin develop

и pu sh через

git push -u origin <new-branch-name>

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

...