Как мне обрабатывать запрос на pull в BitBucket, который требует некоторых настроек?

Кто-то отправил мне запрос на загрузку BitBucket. Изменение в вопросе представляется в ветке по умолчанию. Прежде чем объединить его, я хотел бы сделать пару настроек, но что более важно, я хотел бы опубликовать предварительный сбор этого изменения, чтобы сообщество оценило его и посмотрело, счастливы ли они.

В идеале я хотел бы перевести изменения в основное репо, но положил его на ветку. Сделайте пару настроек. Пометить его, как я бы любой другой сборки, и опубликовать. Тем не менее, похоже, что это невозможно: если я правильно понимаю, ветка "запекается", и я не могу поменять ее на другую ветку. Правильно ли это?

Если да, что я могу сделать вместо этого? Я мог бы вытащить, а затем слить вторую голову в забвение, а также создать ветку с изменением, которое я вытащил. Или я мог бы сделать работу над вилкой, но это будет означать, что не будет никакого тега, связанного с этой сборкой в ​​основном репо. Или я должен вообще что-то сделать?

P.S. Само изменение имеет высокое качество, и это не значит, что автор попросил его улучшить.

Ответ 1

Вместо того, чтобы использовать битбакет "accept pull request", просто переместите изменения в свое местное репо. Вы можете использовать rebase для переноса фиксации (или набора коммитов) на именованную ветку. Затем просто нажмите на изменения, которые вы выполняете в основном репозитории битбакет. (и, возможно, отклонить запрос на загрузку bibucket с комментарием о том, что изменения были нажаты на основное репо)

Например:

если вы репо: Bitbucket/ProjectA/MainRepoForProjectA

а pullrequest - от: Bitbucket/someuser/MainRepoForProjectA

  • pull from bitbucket/someuser/MainRepoMainRepoForProjectA
  • переадресовывать новые транзакции в указанную ветвь.
  • Внесите любые дополнительные изменения, которые вы хотите сделать.
  • нажмите на битбакет /ProjectA/MainRepoMainRepoForProjectA

Примечание: Если вы раньше не использовали rebase:

  • Включить его в файл TortoiseHg → Настройки → Расширения
  • Обновите головку ветки, которую хотите переместить также.
  • Щелкните правой кнопкой мыши на основании изменений, которые вы хотите переместить → Изменить историю → Rebase

Ответ 2

Это может быть полезно:

http://www.electricmonk.nl/log/2014/03/31/test-a-pull-merge-request-before-accepting-on-bitbucket/

В основном, ссылка говорит, чтобы сделать следующее:

  • git fetch https://bitbucket.org/myrepository/master somename
  • git checkout FETCH_HEAD
  • проверить код и проверить на содержание сердца.
  • (если код принят), git мастер проверки
  • git merge FETCH_HEAD
  • git нажмите

Ответ 3

То, что принимает запрос на pull, описано в docs; он попытается объединиться, и вам удастся разрешить конфликты. В документах упоминается, что вы можете установить целевую ветку при создании запроса на растяжение. Но так как ваш филиал еще не существует, ваш вкладчик не сможет его выбрать.

Итак, вам придется тянуть на свой локальный компьютер и переместить некоторые коммиты в новую ветку в Hg, а затем нажать на свой битбакет.

Прочитайте reba docs, потому что изменение истории будет иметь последствия для действительности репозитория ваших участников, ему придется снова развить снова синхронизироваться с вами. Это может стать громоздким, если у него уже есть более качественный код, готовый для вас.

Ответ 4

Можно вытащить код для запроса на растяжение следующим образом:

git fetch origin refs/pull-requests/$PR_NO/from:$LOCAL_BRANCH