Как изменить главную ветку в Pull Request?
Потом сделать Push и создал PR на ветку one.
Потом решил что хочу изменить ветку и дать PR на ветку two.
Проблема в том что когда я изменить ветку в githube на two, то появились много изменений от других разработчиков, и вместо моего коммита появились и другие, кроме того появились конфликты.
Как безболезненно изменить главную ветку ? Расскажите подробные шаги. Спасибо.
- Вопрос задан более трёх лет назад
- 1913 просмотров
Комментировать
Решения вопроса 1
пофиг на чем писать
Я так понимаю, что Вы в мастер ничего не сливали, значит в главной изменять ничего не надо. Надо просто в свою ветку подтянуть изменения из главной, сделать мерж и разрулить конфликты. Чтобы, пока работаете в своей ветке, таких конфликтов было меньше, надо чаще мержить изменения из мастера. И вообще, прежде чем заливать в мастер, надо из самого мастера подтянуть изменения, если есть конфликты — разрулить и только потом сливать в мастер.
А подробные шаги никто не расскажет, надо видеть, что там реально происходит.
Ответ написан более трёх лет назад
Нравится 1 2 комментария

Demigodd @Demigodd Автор вопроса
Вопрос в том что, к примеру есть бранч A который был создан из C, нужно сделать так что бы он был создан из B без его удаления и т.д.
DEATH2298, создайте новую ветку D из B, сделайте merge A в D и работайте с D. Можно rebase, но ветка A сольется с D в этом случае.
Практическое занятие «Процесс Pull request на GitHub»
На предыдущем занятии Используем клиент GitHub для десктопа, мы использовали Github Desktop для управления рабочим процессом коммитов, ветвления и слияния. На этом занятии мы будем выполнять аналогичные действия, но с использованием браузерного интерфейса, который предоставляет Github, вместо использования терминала или Github Desktop.
Понимание процесса Pull request является важным для анализа изменений в опен-сорс проекте с несколькими участниками. Использование интерфейса GitHub также удобно, если рецензенты не знакомы с терминалом или Github Desktop.
Создание изменение в отдельной ветке
По умолчанию в новом репозитории есть одна ветка с именем «Master». Обычно, когда при внесении изменений или просмотра / редактировании, создается новая ветка и вносятся все изменения в ветку. Затем, по окончании, владелец репо объединяет изменения из новой ветки в «Master» через «pull request».
Note: Можно выполнять эти операции, используя команды Git в терминале, а также Можно выполнять их в интерфейсе браузера. Интерфейс браузера может быть полезен, если людей, вносящих изменения в ваш контент.
Для создания изменений в отдельной ветке:

- Со стороны рецензента переходим к тому же репозиторию GitHub, который был создан на предыдущем занятии (можно создать новый репо). Создаем новую ветку, выбрав раскрывающееся меню ветки и введя имя новой ветки, например «sme-review». Затем нажмите клавишу Enter.
При создании новой ветки, содержимое из главной (или любой другой ветки, которая сейчас просматривается) копируется в новую ветку. Процесс похож на «Сохранить как» с существующим документом.

- Кликаем в область ввода текста, а затем кликаем по иконке карандаша («Edit this file»), чтобы отредактировать файл.
- Вносим изменения в контент и прокручиваем вниз экрана до области Commit changes. Поясняем причину изменений и подтверждаем изменения в своей ветке sme-review, нажав кнопку Commit changes .
Рецензенты могут продолжать вносить изменения таким образом, пока не закончат просмотр всей документации. Все изменения делаются в этой новой ветке, а не в мастере.
Создание Pull request
Теперь представим, что процесс проверки завершен, и пришло время объединить ветку с мастером. Ветка объединяется с “Master” через Pull request . Любой «соавтор» в команде с правами на запись может инициировать и завершить Pull request (добавлять соавторов можете в «Настройки»> «Соавторы)
Для создания Pull request:
- Находим на экране вкладку “Pull request”.
- Кликаем по кнопке New pull request

- Выбираем ветку (sme-review), которую хотим сравнить с веткой “Master”

Когда мы сравниваем ветку с мастером, мы увидим список всех изменений. Мы можем просмотреть изменения в двух режимах просмотра: Unified или Split (это вкладки, показанные справа от содержимого). Unified показывает правки вместе в одной области содержимого, тогда как split показывает два файла рядом.
- Кликаем на кнопку Create pull request .
- Поясняем pull request и снова кликаем кнопку Create pull request .
Владелец репозитория увидит pull request и сможет принять меры для его объединения.
Процесс Pull request
Теперь посмотрим на процесс со стороны владельцем проекта, который получил новый Pull request. Владельцу нужно обработать Pull request и объединить ветку sme-review с “Master”.

- Переходим на вкладку “Pull requests”, чтобы увидеть ожидающие запросы на извлечение.
- Кликаем по запросу и смотрим изменения, выбрав вкладку Files changed.
Note: Для реализации выборочных изменений, переходим в ветку sme-review и вносим обновления перед обработкой pull request. Pull request не дает построчную информацию о том, какие изменения мы хотим принять или отклонить (например, в Microsoft Word «Отслеживать изменения»). Слияние запросов — это процесс «все или ничего». Можно нажать кнопку Review changes , добавить несколько комментариев, а затем установить переключатель «Request changes», попросив рецензента внести изменения.
Также стоит обратить внимание, что если запрос на извлечение выполняется для более старой версии мастера, где исходное содержимое мастера больше не существует или перемещено в другое место, процесс слияния будет более трудным для выполнения.
- Переходим на вкладку “Conversation” и кликаем кнопку Merge pull request .
- кликаем Confirm merge .
Ветка sme-review объединяется с мастером. Теперь “Master” и ветка sme-review совпадают (ветки “смержены”).
- Кликаем кнопку Delete branch для удаления ветки sme-review.
Не обязательно удалять ветку сразу. Старые ветки всегда можете удалить , щелкнув ссылку на ветки при просмотре репозитория Github, а затем нажмите кнопку Delete (корзина) рядом с веткой.
Если посмотреть на список веток, то после удаления ветка sme-review больше не отображается.
Добавление участников в проект
Иногда необходимо добавлять соавторов в проект Github, чтобы они могли вносить изменения в ветку. Если другие участники проекта, не являясь соавторами, захотят внести изменения, они получат сообщение об ошибке. (Inviting collaborators to a personal repository)
Человек без прав на запись, может “форкнуть” (скопировать) репо, а не вносить изменения в ветку в том же проекте. Однако копирование проекта клонирует весь репозиторий, а не создает ветку в том же репозитории. Форк (копия) будет существовать в учетной записи пользователя GitHub. Можно объединить форкнутый репозиторий (это типичная модель для опен-сорс проектов со многими внешними участниками), но этот сценарий, вероятно, менее распространен для технических писателей, работающих с разработчиками в тех же проектах.
Для добавления соавторов в проект:
- В репозитории проекта переходи на вкладку “Settings”.
- Нажимаем на кнопку Collaborators в левой части.
- Вводим имена пользователей Github тех, кому хотим дать доступ в области Collaborator.
- Нажимаем на кнопку Add collaborator .
Изменение базовой ветви запроса на вытягивание
После открытия запроса на вытягивание можно изменить базовую ветвь, чтобы сравнить изменения в запросе на вытягивание с изменениями в другой ветви.
Предупреждение. При изменении базовой ветви запроса на вытягивание с временной шкалы могут быть удалены некоторые фиксации. Также могут устареть комментарии к проверке, если строка кода, на которую ссылается комментарий, не будет включена в изменения в запросе на вытягивание.
- В поле имени репозитория щелкните

Запросы на вытягивание.


В раскрывающемся меню базовой ветви выберите базовую ветвь, с которой требуется сравнить изменения.
Совет. При открытии запроса на вытягивание GitHub установит в качестве базы фиксацию, на которую ссылается эта ветвь. При последующем обновлении этой ветви GitHub не будет обновлять фиксацию базовой ветви.
Дополнительные материалы
- «Создание запроса на включение изменений»
- «Сведения о запросах на вытягивание»
- «Просмотр предлагаемых изменений в запросе на вытягивание»
Можно ли изменить/дополнить pull request?
После того, как я завершил свою задачу, я сделал pull request на master. В комментариях написали замечания к некоторым частям моего кода. Я исправил то, что требовалось, но не знаю, как поступить. Мне закрыть предыдущий pull request и отправить новый, или же можно как-то изменить старый?
Отслеживать
задан 5 окт 2021 в 21:03
494 5 5 серебряных знаков 16 16 бронзовых знаков
Просто пушьте в ту же ветку, чего мудрить
5 окт 2021 в 21:07
@andreymal После того, как я запушу изменения в мою ветку, пулл реквест тоже поменяется? Я почему-то думал, что в пулл реквесте останутся те изменения, которые были сделаны до того, как я его отправлю, а на те изменения, что я запушил после того, как пулл реквест был отправлен придётся снова делать пулл реквест. Можете пожалуйста чуть подробнее описать этот процесс.
5 окт 2021 в 21:11
Поменяется. . .
5 окт 2021 в 21:11
@andreymal Окей, спасибо
5 окт 2021 в 21:12
andreymal правильно написал. В дополнение скажу, что исправления нужно делать в той же ветке, из которой изначально делался PR новыми комитами (т.е. не нужно использовать git push —force), чтоб история комментариев к PR не пропала и комментаторам легче было проверить, что вы все исправили и все замечания учли.
6 окт 2021 в 6:59
0
Сортировка: Сброс на вариант по умолчанию
Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.
- git
- github
- pull-request