Разветвление запроса на извлечение с помощью git/github

Я работаю над проектом в github. Пользователь создал запрос на извлечение. Я хотел бы отказаться от этого запроса на вытягивание. Как мне это сделать? Я не вижу в документации по git ничего, что сразу бросалось бы мне в глаза, но я вполне уверен, что это возможно...

Как насчет того, чтобы создать новую ветку, объединить запрос на включение и разветвить его?

Nimesh Neema 09.04.2019 18:10

@NimeshNeema, как бы я это сделал? Это пиар для апстрима.

basil 09.04.2019 18:17

Возможный дубликат Как быстро получить запрос на включение локально

phd 09.04.2019 19:25
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
4
82
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

PR основаны на филиалах. Разветвление репозитория создает новую копию репозитория в вашей учетной записи, включая все отправленные ветки. Запросы на вытягивание не копируются как часть процесса разветвления.

Перейдите к запросу на вытягивание и найдите ветку, на которой он основан:

pull request showing branch

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

Я не совсем понимаю, что вы имеете ввиду. У меня уже есть исходное репо. Как я могу ввести PR в свою вилку и ответвления от нее?

basil 09.04.2019 18:18

Тогда это довольно просто. Вы просто хотите найти ветку от исходного PR, проверить ее и сделать из нее ветку.

bpaul 09.04.2019 20:13
Ответ принят как подходящий

I have the original repo forked already. How would I bring the PR into my fork and branch off of it?

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

  2. Добавьте репозиторий, из которого PR приходит как удаленный к вашему клону:

    git remote add the-pr-repo [email protected]:the-pr-user/the-pr-fork.git
    
  3. Оформить ветку PR в локальном репозитории:

    git fetch the-pr-repo
    git checkout the-pr-branch
    

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

This is a PR for upstream.

PR по-прежнему просто указывает на ветку. «Запрос на извлечение» — это буквально запрос на перенос коммитов из данной ветки в какую-то другую ветку. Допустим, PR сделан из репозитория basil и указывает ветку с именем basils-changes, а PR просит добавить коммиты из basils-changes в ветвь master репозитория upstream. Я могу легко получить те же самые изменения, сначала убедившись, что у меня есть локальная ветка, в которой установлена ​​последняя версия upstream/master, а затем перетащите basil/basils-changes в мою локальную ветку. Это даст мне именно то, что будет у upstream/master, если PR будет объединен, поэтому я могу протестировать изменения локально, чтобы решить, хочу ли я объединить PR с upstream/master.

как я могу выйти из ветки PR после ее добавления в мой форк?

basil 09.04.2019 19:09

Вы не «ответвляете от PR», вы просто втягиваете ветвь PR в свою вилку, используя git checkout. Если вы хотите создать новую ветку оттуда, вы можете сделать это снова с помощью git checkout -b your_new_branch_name. Или вы можете просто внести изменения в свою копию ветки PR. PR ничего не меняет в обычном использовании git — это просто указатель на конкретную ветку. Если владелец ветки добавит фиксацию в свою ветку и подтолкнет ее к своей вилке, PR покажет это, потому что, опять же, PR просто указывает на ветку.

Caleb 09.04.2019 19:16

есть ли способ объединить его с веткой, над которой я работаю?

basil 11.04.2019 19:55

Это просто ветка, поэтому, конечно, вы можете перетащить ее в другую ветку. Или вы можете перебазировать свою ветку поверх ветки PR. Выполнение последнего часто лучше, если вы планируете объединить как PR, так и свою собственную ветку в другую ветку (например, master), потому что это сохраняет отдельные коммиты PR и помогает избежать конфликтов слияния.

Caleb 11.04.2019 20:17

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

basil 11.04.2019 22:47

Термины, которые я использовал выше, сопоставляются непосредственно с именами команд git. Если вы хотите притянуть другую ветку к своей, это git pull <the_other_repo> <the_other_branch>. Если вы хотите перебазировать, это git rebase <the_other_repo>/<the_other_branch>. Если вы не уверены, какие параметры подходят для какой-либо команды, добавьте параметр --help (например, git pull --help). Я понимаю ваше разочарование, но вам станет легче, если вы продолжите в том же духе. Сопротивление бесполезно.

Caleb 11.04.2019 23:02

Другие вопросы по теме