Как отменить слияние на Bitbucket?

Я создал слияние (в ветку "master" ), которое теперь находится в репозитории Bitbucket. Короче говоря: мне нужно отменить это слияние.

Я знаю, что вы можете сделать это на самом сайте Github, но у Bitbucket нет этой функции. Я не понимаю, как это сделать с помощью Git, не вызывая беспорядка.

Ответы

Ответ 1

Сначала вам нужно клонировать репозиторий в локальной системе (вы можете получить URL-адрес репо в формате SSH или HTTPS со страницы "Обзор" репозитория в Bitbucket):

git clone [email protected]:my/repo.git
-or-
git clone https://[email protected]/my/repo.git

git checkout master

.. затем верните последнюю фиксацию. Сначала перечислите доступные фиксации с помощью:

git log

.. затем выберите фиксацию перед слиянием:

git reset --hard 72ead1c4c1778c23c277c4f15bbb68f3bb205f54

.. где хэш - это хэш фиксации до слияния (из журнала). Наконец, принудительно переместите изменения в Bitbucket, переписывая историю.

git push -f

Естественно, если репо является общим, а его другие пользователи вытащили ваш последний фиксатор и построили поверх него, они не будут счастливы. Поэтому в этом случае обязательно сообщите всем о том, что вы делаете.

revert, как упоминалось в других ответах, это еще один вариант; он сохраняет фиксацию, которую вы сделали, но еще больше модифицирует репозиторий (с новым фиксацией) таким образом, что он отменяет сделанные вами изменения. Если вы хотите использовать revert, зависит от того, хотите ли вы, чтобы информация в вашей фиксации оставалась в истории репо или нет.

Подробнее об отмене изменений в git см. на странице хорошей учебной страницы Atlassian.

Ответ 2

Я бы предложил сделать revert вместо этого, так как вы возвращаете публичное репо.

git revert HEAD
git push -f origin

Ответ 3

чтобы отменить изменения фиксации: git revert <commit id>

Ответ 4

Функция "Revert pull request" была реализована в Bitbucket в 2017 году.

Чтобы вернуть запрос на перенос:

  • Из запроса на вытягивание нажмите кнопку "Отменить" в правом верхнем углу. (Необязательно.) В диалоговом окне "Запрос запроса на возврат" измените имя ветки для новой ветки, которую вы собираетесь создать.
  • Нажмите кнопку "Отменить". Когда вы нажмете "Восстановить", Bitbucket создаст новую ветку. Даже если вы отмените запрос на вытягивание, ветвь возврата останется в репозитории.
  • Откроется страница создания запроса на растяжение с возвратной веткой в ​​качестве источника. После добавления рецензентов и внесения дополнительных изменений нажмите "Создать".

Источник: документы.