что такое pull request в github

Pull Request на Git: определение, как сделать и его назначение

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

Pull Request Git — что это

вы находите какой-нибудь открытый проект, в котором хотели бы поучаствовать и который хотели бы пулить;

потом отсылаете измененный экземпляр автору оригинала;

если автор примет ваши изменения, то у вас появится шанс стать соавтором данного проекта, если нет — то нет.

Что входит в pull request на G it

Пулить — это не всегда значит «кодить», то есть вносить изменения в код. Можно и другими вариантами стать соучастником проекта. Для этого можно попытаться внести изменения в следующие элементы проекта:

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

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

Pull Request Git — это то, что может подтолкнуть вас к профессиональной разработке. Сам по себе GitHub на это и н ац елен, чтобы контролировать версии проектов и при этом давать возможность раскрываться молодым талантливым программистам.

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

Но любой отказ — это не повод не проводить следующий pull request. Чтобы стать хорошим программистом, нужно время и много практики, поэтому дерзайте!

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Источник

Как сделать свой первый Pull Request

07 Марта 2016 • Михаил Панков • руководства • поддержите на Patreon

Предполагается знание основ системы контроля версий Git. Если вы ещё не работали с Git, мы дадим ссылки на официальную русскоязычную документацию по необходимым командам.

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

Вот процесс с высоты птичьего полёта.

Работа над задачей закончена!

Теперь рассмотрим каждый этап подробнее.

Форкаем проект

Поэтому мы форкаем проект — это создаст копию репозитория в вашем аккаунте. При этом у вас появится доступ на запись в вашу копию.

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

Через мгновение вы будете перенаправлены на страницу вашего форка.

Клонируем репозиторий

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

Затем выполняем команду в терминале ( или командной строке Windows):

Создаём ветку

Теперь заходим в наш склонированный репозиторий и создаём ветку:

Вторая команда создаст ветку и перейдёт на неё ( сделает checkout).

Делаем изменения

Эти изменения мы коммитим в нашу ветку. Как это сделать — ниже.

Если вы уже достаточно разбираетесь в Git, такие не-атомарные изменения потом нужно объединить в один коммит с помощью interactive rebase и squash.

В выводе есть все необходимые вам команды:

Формат сообщения о коммите таков:

В наших проектах нужно использовать Fix #123 или Close #123 на последней строке сообщения коммита.

Проверяем изменения

Создаём Pull Request

Чтобы создать Pull Request, зайдём на страницу вашего форка. Справа от выпадающего меню с выбором ветки есть кнопка « New pull request».

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

Вы попадаете в окно сравнения веток.

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

После нажатия кнопки появится окно ввода сообщения Pull Request.

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

Участвуем в Code Review

Если кто-то ведёт себя неадекватно — не медлите. Сначала сообщите об этом собеседнику и призовите его к благоразумию. Если не сработало — смело обращайтесь к рецензенту или к автору данного текста ( Панкову Михаилу — @mkpankov). Это можно сделать в нашем чате.

Пожелание относительно процесса рецензирования — постарайтесь не сильно затягивать с ответами на комментарии или изменением указанных вещей.

Поздравляем! Теперь вы полноправный участник проекта.

Завершение работы

А теперь можно удалить нашу ветку fix-protobaz локально:

Источник

Как сделать pull request

Pull Request — запрос на включение. На включение написанного вами кода в чужой репозиторий.

С чего начать?

А для начала этот самый репозиторий нужно форкнуть (fork — вилка, ответвление). Разберём это нехитрое действо на примере веб-сервиса для хостинга IT-проектов, название которому GitHub. Разумеется, кроме GitHub есть и другие: BitBucket, например. Выбирать по вкусу.

Для успешного проведения нижеизложенных операций у вас (что естественно) должен быть установлен git

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

Отлично. Уже можно вносить свои изменения в код проекта.

Тот репозиторий, что теперь лежит на вашем жёстком диске, независим от основного. В нём отслеживаются только ваши наработки. Но как следить за изменениями, происходящими в первоисточнике, откуда вы « стянули » репозиторий? Добавить удаленный репозиторий в отслеживаемые. Например, так:

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

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

Что такое ветки?

Чаще всего ветки (branch — ответвление, ветвь, филиал) бывают тематическими. Например, при общей разработке, когда у всех участников есть право записи в репозиторий. В этом случае ветки используются для отделения изменений, сделанных одним из разработчиков, от общего репозитория. Ветки могут пригодиться и в случае с созданием pull-request’а.

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

Новые ветки создаются не только из master, берите любую!

Находясь в только что созданной ветке, вы можете приступить к работе. Вносите в код свои изменения, а когда закончите просто переключитесь обратно к своей основной ветке. Вы можете отправить pull request, выбрав ветку new_branch или же прежде слить изменения из неё в основную ветку разработки. Рассмотрим это подробнее:

Если нужно отправить в свой удалённый репозиторий вновь созданную ветку (не сливать её с master), делаем следующее:

Не торопитесь сливать изменения. Если что-то не заладилось, созданную ветку можно удалить:

Удалить все локальные ветки, которые были смержены (то есть код которых теперь есть) в ветках develop или master:

Отправляем изменения

Добрались таки до ответа на поставленный вопрос: что такое pull request, зачем оно нужно и как его достичь. Как предложить владельцу репозитория свои изменения?

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

А дальше. ждать. Пока придёт владелец оригинального репозитория и примет/отклонит ваши изменения.

Ну вот, мы его достигли. Просветления то есть 🙂

Как отменить изменения

Когда нужно вернуть более старое состояние уже проиндексированных файлов и забыть о них совсем (помните, что упомянутая здесь операция отменит всю вашу работу до определённого коммита!):

Cмотрим на какой коммит откатиться. В примере откатываемся назад на 1 коммит. Для изменения состояния в этой же ветке удалённого репозитория тоже придётся использовать грубую силу — флаг force :

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

А подробнее?

Итогов подводить не стану. Для заинтересованных лиц ссылочка на неофициальную документацию: The Git Community Book

Источник

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

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

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

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

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

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

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

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

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

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

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

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

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

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

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

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

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

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

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

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

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

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

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

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

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

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

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

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

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

Итоги

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

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

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

Источник

Выполнение запроса pull

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

В упрощенном виде запросы pull — это механизм, с помощью которого разработчик уведомляет участников команды о том, что он подготовил некий функционал. Закончив работу над функциональной веткой, разработчик создает запрос pull с помощью аккаунта Bitbucket. Так все участники процесса узнают, что требуется проверить код и выполнить слияние с главной веткой ( main ).

Однако запрос pull — это не просто уведомление, а специальный форум для обсуждения предлагаемой функции. Если с изменениями возникли какие-либо проблемы, участники команды могут публиковать в запросе pull отзывы и даже изменять функцию с помощью дополнительных коммитов. Все эти действия отслеживается непосредственно внутри запроса pull.

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

По сравнению с другими моделями совместной работы это формальное решение для обмена коммитами обеспечивает гораздо более упорядоченный рабочий процесс. SVN и Git могут автоматически отправлять уведомления по электронной почте с помощью простого скрипта; однако когда дело доходит до обсуждения изменений, разработчикам обычно приходится вести диалог по электронной почте. Такой подход может внести путаницу, особенно если начинается обмен дополняющими коммитами. Запросы pull помещают все эти функции в удобный веб-интерфейс рядом с репозиториями Bitbucket.

Структура запроса pull

Создавая пул-реквест, вы всего лишь просите другого разработчика (например, человека, занимающегося поддержкой проекта) забрать ветку из вашего репозитория в его репозиторий. Поэтому для создания пул-реквеста необходимо указать 4 параметра: исходный репозиторий, исходную ветку, репозиторий назначения и ветку назначения.

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

Для многих параметров сервис Bitbucket определяет нужные значения по умолчанию. Однако в зависимости от того, как налажен процесс совместной работы команды, может потребоваться указать другие значения. На приведенной выше схеме показан запрос pull о слиянии функциональной ветки с официальной главной веткой, однако существует множество других способов использования запросов pull.

Порядок действий

Пул-реквесты можно применять в сочетании с процессами Feature Branch Workflow, Gitflow Workflow или Forking Workflow. При этом для использования пул-реквестов требуются две отдельные ветки или два отдельных репозитория. Поэтому пул-реквесты не будут работать при использовании процесса Centralized Workflow. Использование пул-реквестов в каждом из перечисленных процессов имеет свои нюансы, но общий подход описан ниже.

Разработчик создает функцию в отдельной ветке в своем локальном репозитории.

Разработчик отправляет эту ветку в публичный репозиторий Bitbucket командой push.

Разработчик создает запрос pull через Bitbucket.

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

Человек, занимающийся поддержкой проекта, сливает функцию в официальный репозиторий и закрывает запрос pull.

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

Использование запросов pull в рабочем процессе с функциональными ветками

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

В процессе Feature Branch существует только один публичный репозиторий, поэтому исходный и целевой репозитории в запросе pull всегда будут совпадать. Обычно разработчик указывает свою функциональную ветку в качестве исходной, а ветку main — в качестве целевой ветки.

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

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

Использование запросов pull в рабочем процессе Gitflow

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

Механизм запросов pull в рабочем процессе Gitflow аналогичен описанному выше: разработчик просто создает запрос pull, когда необходимо проверить функцию, релиз или ветку исправлений, а остальные участники команды получают уведомления через Bitbucket.

Использование запросов pull в рабочем процессе с форками

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

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

Кроме того, пул-реквесты можно использовать для совместной работы с другими разработчиками за пределами официального репозитория проекта. Например, если разработчик работал над функциональной веткой вместе с коллегой, они могут создать пул-реквест, указав в качестве назначения репозиторий Bitbucket коллеги, а не официальный репозиторий проекта. Тогда они смогут указать в качестве исходной ветки и ветки назначения одну и ту же функциональную ветку.

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

Два разработчика могут обсуждать и разрабатывать функцию внутри запроса pull. По окончании разработки один из них создает новый запрос pull на слияние этой функции с официальной главной веткой. Такая гибкость делает запросы pull невероятно мощным инструментом совместной работы в рамках рабочего процесса с форками.

Пример

В приведенном ниже примере демонстрируется использование запросов pull в рабочем процессе с форками. Он одинаково применим как для разработчиков, работающих в маленьких командах, так и для независимых разработчиков, участвующих в проекте с открытым исходным кодом.

В данном примере Мэри — разработчик, а Джон — человек, занимающийся поддержкой проекта. У обоих есть собственные публичные репозитории Bitbucket, и в репозитории Джона находится официальный проект.

Мэри создает форк официального проекта

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

Чтобы начать работу над проектом, Мэри сначала должна создать форк репозитория Джона в Bitbucket. Для этого ей нужно войти в Bitbucket, перейти к репозиторию Джона и нажать кнопку Fork.

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

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

Мэри клонирует свой репозиторий Bitbucket

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

Затем Мэри должна клонировать репозиторий Bitbucket, который она только что создала с помощью форка. Так она получит собственную рабочую копию проекта на своей локальной машине. Она может сделать это с помощью следующей команды:

Мэри разрабатывает новый функционал

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

Прежде чем писать какой бы то ни было код, Мэри должна создать новую ветку для функции. Эту ветку она будет использовать в качестве исходной в запросе pull.

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

Мэри помещает функциональную ветку в свой репозиторий Bitbucket

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

Закончив свою задачу, Мэри помещает функциональную ветку в собственный репозиторий Bitbucket (не в официальный репозиторий проекта) с помощью простой команды git push :

Так изменения Мэри будут доступны человеку, занимающемуся поддержкой проекта (или любым другим участникам, которым может понадобиться доступ к этим изменениям).

Мэри создает запрос pull

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

После добавления своей функциональной ветки в Bitbucket Мэри из своего аккаунта Bitbucket может создать пул-реквест, перейдя в свой репозиторий, созданный с помощью форка, и нажав на кнопку Pull request в верхнем правом углу. Отобразится форма, в которой репозиторий Мэри автоматически будет указан в качестве исходного. Мэри останется указать исходную ветку, а также репозиторий и ветку назначения.

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

После создания запроса pull Джону будет отправлено уведомление через Bitbucket и (опционально) по электронной почте.

Джон просматривает запрос pull

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

Джон может увидеть все созданные другими разработчиками пул-реквесты, перейдя на вкладку Pull request в своем репозитории Bitbucket. Нажав на пул-реквест Мэри, он увидит описание пул-реквеста, историю коммитов функциональной ветки и все изменения в пул-реквесте.

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

что такое pull request в github. Смотреть фото что такое pull request в github. Смотреть картинку что такое pull request в github. Картинка про что такое pull request в github. Фото что такое pull request в github

Мэри добавляет дополняющий коммит

Если у Мэри есть какие-либо вопросы по поводу отзыва Джона, она может ответить внутри запроса pull, используя его как форум для обсуждения функции.

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

Джон принимает запрос pull

Куда можно перейти отсюда

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

Готовы попробовать создать запрос pull?

Ознакомьтесь с этим интерактивным обучающим руководством.

Источник

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

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