Как сделать пул реквест в гитхабе

Creating a pull request

In this article

Create a pull request to propose and collaborate on changes to a repository. These changes are proposed in a branch, which ensures that the default branch only contains finished and approved work.

Anyone with read access to a repository can create a pull request.

If you want to create a new branch for your pull request and do not have write permissions to the repository, you can fork the repository first. For more information, see «Creating a pull request from a fork» and «About forks.»

You can specify which branch you’d like to merge your changes into when you create your pull request. Pull requests can only be opened between two branches that are different.

Note: To open a pull request in a public repository, you must have write access to the head or the source branch or, for organization-owned repositories, you must be a member of the organization that owns the repository to open a pull request.

You can link a pull request to an issue to show that a fix is in progress and to automatically close the issue when someone merges the pull request. For more information, see «Linking a pull request to an issue.»

Changing the branch range and destination repository

By default, pull requests are based on the parent repository’s default branch. For more information, see «About branches.»

If the default parent repository isn’t correct, you can change both the parent repository and the branch with the drop-down lists. You can also swap your head and base branches with the drop-down lists to establish diffs between reference points. References here must be branch names in your GitHub repository.

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

When thinking about branches, remember that the base branch is where changes should be applied, the head branch contains what you would like to be applied.

When you change the base repository, you also change notifications for the pull request. Everyone that can push to the base repository will receive an email notification and see the new pull request in their dashboard the next time they sign in.

When you change any of the information in the branch range, the Commit and Files changed preview areas will update to show your new range.

Tips:

Creating the pull request

Tip: After you create a pull request, you can ask a specific person to review your proposed changes. For more information, see «Requesting a pull request review.»

After your pull request has been reviewed, it can be merged into the repository.

To learn more about GitHub CLI, see «About GitHub CLI.»

To create a pull request, use the gh pr create subcommand.

For more information on creating pull requests in Codespaces, see «Using Codespaces for pull requests.»

Источник

Это блог

Расскажу, как быстро и просто открыть пулл-реквест, на что обратить внимание, и сделать так, чтобы ваш ревьюер не расстраивался. В конце статьи есть чеклист, чтобы быстро проверять по нему.

Предполагаю, что вы уже форкнули проект, склонировали себе форк, что-то там накоммитили и готовы открыть пулл-реквест. Лучше всего читать эту статью параллельно с открыванием пулл-реквеста.

Найдите кнопку «Pull Request»

Не суетитесь и не бегайте по репозиториям, переключая ветки. Сразу, как вы запушили, на главной страничке вашего репозитория появится жёлтая плашка с названием ветки и кнопкой «Compare & pull request».

Эта кнопка — самый короткий путь к открытию пулл-реквеста. Жмите её.

Проверьте ветки

После нажатия кнопки у вас откроется подробная страничка о том, откуда и куда вы открываете пулл-реквест. Посмотрите, куда вольётся ваш код. Он должен попадать в главную ветку основного репозитория. Скорее всего это ветка master. И он должен быть из вашего форка и ветки, в которой вы делали работу.

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабеКуда и откуда попадёт код

Скорее всего так и есть, если вы правильную кнопку нажали.

Проверьте конфликты

Прямо под ветками написано, есть конфликты или нет:

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабеВот тут нет конфликтов

Бывает, что конфликты есть:

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

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

Если вы работаете в команде и не умеете решать конфликты, попросите старшего товарища вам помочь. А если вы студент, попросите наставника 🙂 Вы так же можете сначала открыть пулл-реквест, пусть и с конфликтами, а потом эти конфликты решить.

Напишите заголовок и описание

В форме открытия пулл-реквеста напишите заголовок: коротко что вы сделали. И описание: что конкретно и зачем, а что ещё не доделано.

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

Проверьте изменённые файлы

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабеИзменённые файлы (дифф)

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

На скриншоте выше файл npm-debug.log.1955635711 очевидно лишний. Значит нужно его удалить и закоммитить это, и снова запушить в эту ветку. Если вы нашли ошибку, то просто исправьте её, закоммитьте и запушьте. Потом обновите страничку с диффом и убедитесь, что всё в порядке.

Теперь жмите «Create pull request»! Ура!

Как открыть пулл-реквест:

Подписывайтесь на телеграм-канал про фронтенд, дизайн, работу и жизнь.

Источник

Практическое занятие «Процесс Pull request на GitHub»

На предыдущем занятии Используем клиент GitHub для десктопа, мы использовали Github Desktop для управления рабочим процессом коммитов, ветвления и слияния. На этом занятии мы будем выполнять аналогичные действия, но с использованием браузерного интерфейса, который предоставляет Github, вместо использования терминала или Github Desktop.

Понимание процесса Pull request является важным для анализа изменений в опен-сорс проекте с несколькими участниками. Использование интерфейса GitHub также удобно, если рецензенты не знакомы с терминалом или Github Desktop.

Создание изменение в отдельной ветке

По умолчанию в новом репозитории есть одна ветка с именем «Master». Обычно, когда при внесении изменений или просмотра / редактировании, создается новая ветка и вносятся все изменения в ветку. Затем, по окончании, владелец репо объединяет изменения из новой ветки в «Master» через «pull request».

Для создания изменений в отдельной ветке:

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

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

Создание Pull request

Для создания Pull request:

Когда мы сравниваем ветку с мастером, мы увидим список всех изменений. Мы можем просмотреть изменения в двух режимах просмотра: Unified или Split (это вкладки, показанные справа от содержимого). Unified показывает правки вместе в одной области содержимого, тогда как split показывает два файла рядом.

Владелец репозитория увидит pull request и сможет принять меры для его объединения.

Процесс Pull request

Теперь посмотрим на процесс со стороны владельцем проекта, который получил новый Pull request. Владельцу нужно обработать Pull request и объединить ветку sme-review с “Master”.

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

Ветка sme-review объединяется с мастером. Теперь “Master” и ветка sme-review совпадают (ветки “смержены”).

Если посмотреть на список веток, то после удаления ветка sme-review больше не отображается.

Добавление участников в проект

Иногда необходимо добавлять соавторов в проект Github, чтобы они могли вносить изменения в ветку. Если другие участники проекта, не являясь соавторами, захотят внести изменения, они получат сообщение об ошибке. (Inviting collaborators to a personal repository)

Человек без прав на запись, может “форкнуть” (скопировать) репо, а не вносить изменения в ветку в том же проекте. Однако копирование проекта клонирует весь репозиторий, а не создает ветку в том же репозитории. Форк (копия) будет существовать в учетной записи пользователя GitHub. Можно объединить форкнутый репозиторий (это типичная модель для опен-сорс проектов со многими внешними участниками), но этот сценарий, вероятно, менее распространен для технических писателей, работающих с разработчиками в тех же проектах.

Для добавления соавторов в проект:

Источник

Как сделать первый пул-реквест на GitHub

Перевод статьи «How to make your first pull request on GitHub».

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

Что такое форк?

Когда нам нравится чей-то репозиторий и мы хотели бы иметь его в собственном аккаунте на GitHub, мы делаем форк («вилку») этого репозитория, чтобы иметь возможность работать с ним отдельно.

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

Что такое пул-реквест?

Пул-реквесты нужны. Когда мы хотим принять участие в групповой разработке проектов с открытым исходным кодом.

Например, пользователь Павел делает форк репозитория ThanoshanMV (автора статьи, — прим. перев.) и вносит изменения в свой экземпляр. После этого Павел отсылает пул-реквест ThanoshanMV, который может либо принять его, либо отклонить. По сути это что-то вроде письма «Не будете ли вы так любезны, уважаемый ThanoshanMV, внести мои изменения в свой оригинальный репозиторий?»

Как можно стать контрибьютором проекта?

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

Давайте создадим наш первый пул-реквест!

1. Форк репозитория

Чтобы сделать форк репозитория, нужно нажать кнопку «Fork» в верху страницы. Таким образом вы создадите экземпляр всего этого репозитория в своем аккаунте.

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

2. Клонирование репозитория

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

Чтобы клонировать репозиторий, нажмите кнопку «clone» и скопируйте ссылку.

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

Откройте терминал и запустите следующую команду. С ее помощью репозиторий будет клонирован на вашу машину.

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

Теперь у вас есть копия ветки master основного онлайн-репозитория проекта.

Переходим в клонированную директорию:

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

3. Создание ветки

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

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

Создадим ветку при помощи команды git checkout:

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

4. Внесение изменений и коммит

Внесите необходимы изменения в проект и сохраните их. Затем запустите команду git status: вы увидите внесенные изменения.

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

Добавьте эти изменения в только что созданную ветку при помощи команды git add:

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

Теперь вы можете сделать коммит этих изменений при помощи команды git commit:

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

5. Отправка изменений на GitHub

Чтобы отправить изменения на GitHub (сделать push), нужно определить имя удаленного репозитория.

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

Имя данного удаленного репозитория — «origin».

После определения имени можно безопасно отправить изменения на GitHub.

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

6. Создание пул-реквеста

Перейдите в свой репозиторий на GitHub. Там есть кнопка «Compare & pull request» — кликните ее.

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

Введите необходимые детали относительно того, что именно вы сделали (чтобы поставить ссылку на issues, возмользуйтесь знаком «решетки»). После этого можно нажать кнопку подтверждения внизу.

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

Поздравляю! Вы создали свой первый пул-реквест. Если его примут, вы получите уведомление по электронной почте.

7. Синхронизация вашего форка с основной веткой

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

Даже если вы не собираетесь отправлять пул-реквест в оригинальный репозиторий, все равно лучше синхронизироваться с ним. Со времени создания форка в оригинальном репозитории могли добавиться новые фичи, а также могли быть исправлены какие-то баги.

Проделайте следующие действия, чтобы обновить свой репозиторий и внести соответствующие изменения в свою ветку master:

1. Для начала, проверьте, в какой ветке вы находитесь.

Вы получите список всех веток, причем активная будет подсвечена зеленым.

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

2. Переключитесь в ветку master.

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

3. Добавьте оригинальный репозиторий в качестве upstream-репозитория.

Чтобы вытащить изменения из оригинального репозитория и перенести их в свою версию, нужно добавить оригинальный git-репозиторий в качестве upstream-репозитория.

Здесь [HTTPS] это url, который нужно скопировать из основного репозитория.

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

4. Fetch репозитория

Заберите (fetch) все изменения из оригинального репозитория. Коммиты, сделанные в оригинальном репозитории, будут сохранены в локальной ветке под названием upstream/master.

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

5. Слейте изменения

Слейте (merge) изменения из upstream/master с вашей локальной веткой master. Таким образом главная ветка вашего форка репозитория синхронизируется с upstream-репозиторием без потери ваших локальных изменений.

6. Отправьте изменения на GitHub

На этом этапе ваша локальная ветка синхронизирована с веткой master оригинального репозитория. Если вы хотите обновить свой GitHub-репозиторий, нужно отправить в него изменения.

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

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

8. Удаление ненужной ветки

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

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

Вы можете удалить и версию этой ветки на GitHub.

Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

Итоги

GitHub это мощный инструмент для контроля истории версий. Каждый может стать контрибьютором проекта с открытым исходным кодом. Делается это путем отправки пул-реквестов.

Чтобы стать контрибьютором, не обязательно писать код: есть и другие способы принять участие в проекте.

Наконец, я хотел бы также сказать, что не стоит переживать, если ваши пул-реквесты отклонят. Мейнтейнеры тратят много времени на улучшение своих проектов и они, безусловно, лучше знают эти проекты, чем вы. Поэтому не стоит переживать, если они решат не вливать в свой проект ваши изменения.

Источник

Pull request’ы на GitHub или Как мне внести изменения в чужой проект

По просьбе tulskiy делаю вольный перевод частей официальной документации GitHub’а Fork A Repo и Send pull requests.

Итак, что же такое «запрос на включение (сделанных вами изменений)» (именно так я перевёл pull request)? В официальной документации гитхаба говорится следующее:

Pull request’ы позволяют вам рассказать другим о тех изменениях, которые вы разместили в своём GitHub-репозитории. Как только pull request отправлен, заинтересованные стороны рассматривают ваши изменения, обсуждают возможные правки или даже добавляют дополняющие коммиты, если нужно.

Немного о моделях совместной разработки

Делаем копию репозитория

Рассматривая первую модель разработки, необходимо иметь свою копию изначального репозитория, в которой и будет вестись работа, и изменения из которой и будут предлагаться затем автору изначального репозитория.

В рамках руководства, будем считать, что мы работаем над репозиторием Spoon-Knife пользователя octocat, а ваше имя пользователя — username.

Сделать это очень просто: на странице репозитория имеется кнопочка «Fork», которую и следует нажать.
Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

После чего, эту свою копию уже можно «стянуть» на свой компьютер:

Склонированный репозиторий имеет одну привязку к удалённому репозиторию, названную origin, которая указывает на вашу копию на GitHub, а не на оригинальный репозиторий, чтобы отслеживать изменения и в нём, вам нужно будет добавить другую привязку, названную, например, upstream.

Делаем работу

Итак, в этой точке мы уже можем править код и делать коммиты. Если вы сделали все предыдущие шаги, чтобы потом вернуть ваши изменения в оригинальный репозиторий, то я настоятельно советую делать всю работу в отдельной тематической ветви разработки. Полезность этого станет ясна на этапе посылки pull request’а. Пускай она будет называться feature.

Вот, теперь творите добро (и пусть оно будет выражаться в коммитах).

Как только вы сделали работу (или её часть), отправьте её в свою копию репозитория на GitHub:

Возвращаем изменения: Pull request

Итак, всё сделано. Вы написали код, он у вас в ветви feature как у вас на компьютере, так и на GitHub’е. Осталось только «заслать» его в оригинальный репозиторий.

Идите на страницу вашей копии репозитория на GitHub, выбирайте ветвь feature и жмите кнопку Pull Request.
Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

Далее вы попадёте на предпросмотровую страницу, на которой сможете ввести название и описание ваших изменений (название потом попадёт в описание мёрдж-коммита и станет достоянием общественности, учтите это).
Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

Там же вы можете посмотреть, какие коммиты попали в пулл реквест:
Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

А так же общий diff всех изменений в пулл реквесте:
Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

По умолчанию, пулл реквесты считаются основанными на самой часто интегрируемой ветви родительского репозитория. В этом случае username/Spoon-Knife был скопирован с octocat/Spoon-Knife, так что pull request считается основанным на ветке master репозитория octocat/Spoon-Knife. В большинстве случаев, это будет корректно, но если не так, то вы можете нажать на кнопку «Change Commits»

Вы попадёте в форму выбора базовой и исходной ветвей:
Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе

Слева выбираете в какую ветку будут вливаться изменения в родительском репозитории, справа — какие изменения будут браться с вашего репозитория. По примеру: справа octocat/Spoon-Knife/master, слева username/Spoon-Knife/feature. Здесь вы можете указывать не только ветки, но так же теги и id отдельных коммитов в соответствующем репозитории.
ВАЖНО: Договоритесь с владельцем «родительского» репозитория, в какую ветку будете вливать изменения (он может написать это в README)

Изменение базового репозитория меняет и список людей, кто получит уведомление о пулл реквесте. Каждый, кто имеет право «на запись» в базовый репозиторий, получит письмо и увидит уведомление на главной GitHub’а, в следующий раз, как на него зайдёт.
Как только список коммитов вас удовлетворит, нажмите кнопку Update Commit Range.

Когда вы ввели название и описание и перепроверили список коммитов и изменения в файлы, попавшие в пулл реквест, нажмите кнопку Send pull request. Пулл реквест будет создан незамедлительно.

Что дальше?

Следите за вашим пулл-реквестом. Что прокомментируют люди, что скажет мэйнтэйнер, примет или нет ваш пулл реквест.

Когда ваш pull request примут, не забудьте слить изменения в свой репозиторий (или удалить его, если больше не нужен):

Так же можно удалить ветку, в которой велась разработка:

Что следует делать, если работа заняла большое время и оригинальный репозиторий успел уйти вперёд?

Можно просто влить изменения из оригинального репозитория к себе:

Однако хозяину оригинального репозитория или, может быть, даже вам, не понравится наличие мёрж-коммитов и коммитов из master’а в списке коммитов на пулл. В таком случае вам стоит воспользоваться git rebase.

Прочитать про то, как работает rebase можно в официальном руководстве. Там имеются и очень понятные иллюстрации. Так же есть статья в помощи GitHub.
ВНИМАНИЕ: Пожалуйста, учтите, что git rebase меняет id коммитов! Поэтому, все действия с этой командой стоит выполнять только на локальном репозитории, до того, как эти коммиты станут общедоступны, т.е. до того, как вы их push’нули на гитхаб.

Если вы хозяин: Как принять pull request

Если пулл реквест удовлетворяет всем условиям, то кто-либо с правом «на запись» (т.е. может сделать push) в целевой репозиторий, должен принять pull request одним из многих методов. Ниже описаны три наиболее популярных метода:

Auto Merge (автослияние)

Во многих случаях можно попросить github автоматически принять пулл реквест, используя большую зелёную кнопку Merge Pull Request, которая сама вольёт изменения, создаст мёрж-коммит и закроет пулл реквест.
Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе
Подробнее можно почитать в этом хабратопике: Кнопка слияния на GitHub.

Fetch and Merge (скачать и слить)

Основной метод вливания изменений. Он требует добавления remote, ведущего к репозиторию человека, отправившего pull request, скачивания изменений с этого репозитория, объединения нужной ветви, исправления конфликтов и выгрузки обновлённой ветви обратно в исходный репозиторий:

Patch and Apply (пропатчить и принять)

Предыдущий метод работает хорошо, когда вы работаете в команде или постоянно принимаете изменения от одной и той же группы людей. Другой метод немного быстрее в единичных случаях при использовании git-am.

Закрытие пулл реквеста

Запросы на пулл автоматически закрываются, когда запрошенные коммиты вливаются в репозиторий назначения. При этом генерируется событие, информирующее всех участников разработки, что пулл реквест был принят и влит в основную ветвь.
Как сделать пул реквест в гитхабе. Смотреть фото Как сделать пул реквест в гитхабе. Смотреть картинку Как сделать пул реквест в гитхабе. Картинка про Как сделать пул реквест в гитхабе. Фото Как сделать пул реквест в гитхабе
Так же возможно вручную закрыть пулл реквест в случае, если он был отклонён. Иногда это необходимо в случаях, когда изменения были приняты с помощью git-cherry-pick или другого механизма, который не позволяет обнаружить факт слияния (merge).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *