Подтвердить что ты не робот

Оформление запросов на загрузку битбакета локально

Я нашел эту суть, показывающую, как проверять локальный запрос от GitHub.

Я использую bitbucket и ищу похожую функцию.

Вы можете мне помочь? Спасибо

4b9b3361

Ответ 1

Можно получить код из запросов на загрузку сервера Bitbucket, используя:

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

Ответ 2

Я нашел этот ответ и подумал, что на самом деле можно получить ссылки для запроса на получение на bitbucket.

Но это не так.

Ответ на вопрос OP заключается в том, что это НЕ возможно: возникла проблема с запросом открытой функции, которая оставалась без ответа и оставалась без присмотра в течение четырех пяти ШЕСТЫХ СЕМЬ ЛЕТ.

Обходной путь?

Вы можете получить PR в виде загружаемого файла .patch который вы можете скачать и применить к новой ветке, которую вы создаете вручную. Но вы не сможете легко применить обновления.

Я нашел другой выход, который я реализовал в git-repo, чтобы каждый мог его использовать. То, что я делаю, - это использую API для получения удаленного PR и ветки, и автоматически создаю новый апстрим и ветвь локально. Таким образом, вы можете получать обновления от PR-постера. Недостатком является беспорядок в git пультов.

редактировать: я надеюсь, что это будет сделано, и запрос функции закрыт. Но в течение некоторого времени было решение для этого на выделенных серверах bitbucket, а не на сервисе bitbucket.org. 5 июня один из сотрудников Bitbucket прокомментировал этот билет:

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

Ответ 3

Я последовал за эту статью запрос Толкай Выборка.

Это сработало, но я обнаружил, что мне просто нужно добавить одну строку к текущему репо, а не создавать народное репо и вышестоящее репо. Запустите эту строку

git config --add remote.origin.fetch '+refs/pull-requests/*/from:refs/remotes/origin/pr/*'

Вы также можете добавить его вручную в файл .git/config в вашем проекте.

При следующем запуске git pull вы должны увидеть список:

  • [новый ref] refs/pull-запросы/488/из → origin/pr/488
  • [новый ref] refs/pull-запросы/666/из → origin/pr/666

Затем вы можете запустить git checkout origin/pr/666 чтобы получить изменения запроса на извлечение.

Ответ 4

Запрос извлечения/извлечения

Это работает для bitbucket. У другого сервера могут быть другие refs: (refspecs) или вообще нет ссылок refs: вообще.

Первый раз

Прежде всего, вам нужно добавить запрос на извлечение refs: из удаленного репозитория. Чтобы сделать это с хранилищем (например, с псевдонимом "upstream"):

git config --add remote.upstream.fetch '+refs/pull-requests/*/from:refs/remotes/upstream/pull-requests/*'

То есть вы добавляете последнюю строку в файл git .config:

[remote "origin"]
   url = ssh://[email protected]/~user/repository.git
   fetch = +refs/heads/*:refs/remotes/origin/*
   fetch = +refs/pull/*/head:refs/remotes/origin/pull-requests/*

Fetching

Затем, если вы выполните удаленную выборку, вы должны увидеть получение (также) всех запросов извлечения:

git fetch upstream

From ssh://git.blablabla.net/somepath/repository
 * [new ref]         refs/pull-requests/1188/from -> upstream/pull-requests/1188
 * [new ref]         refs/pull-requests/1741/from -> upstream/pull-requests/1741
 * [new ref]         refs/pull-requests/2394/from -> upstream/pull-requests/2394

Проверяя

Наконец, вы можете оформить выбранный вами пулл-запрос:

git checkout pull-requests/2723

Успешно протестировано на выделенном сервере Bitbucket 27.02.19.

Ответ 5

Кажется, что самый простой способ сделать это - получить патч для запроса на удаление. Исходя из ответа на этот вопрос, комментарий Александра по-прежнему является единственным способом сделать это. Он использует этот вызов API BitBucket.

Я использовал следующий скрипт bash:

USER=username
PASSWORD=password
REPO=repo-name
PULL_NO=42
OUTPUT_FILE=output.patch

# Add -i to include the HTTP-header in the output for debugging
curl -u $USER:$PASSWORD https://bitbucket.org/api/2.0/repositories/$USER/$REPO/pullrequests/$PULL_NO/patch -L -o $OUTPUT_FILE

Сохраните это в файл с именем pull-patch.sh и заполните переменные среды данными вашей учетной записи. Скрипт требует, чтобы у вас был установлен curl (например, sudo apt install curl). Затем запустите:

chmod +x pull-patch.sh
./pull-patch.sh

И файл с именем output.patch должен быть создан из запроса извлечения.

Ответ 6

Когда невозможно получить извлечение запроса, хитрость заключается в том, что вы можете оформить последний коммит этого запроса извлечения

git checkout <hash code of last commit>

Ответ 7

В битбакете вы можете

git config remote.origin.fetch "+refs/heads/:refs/remotes/origin/"

а затем

git fetch

после этого вы можете оформить заказ в филиале, который вы хотите

git checkout BRANCH_NAME

П.С.: Надеюсь, битбакет уладит это https://jira.atlassian.com/browse/BCLOUD-5814