Pull requests — это предложения по объединению изменений кода в проект. Pull request — GitHubэто базовая функция совместной работы, позволяющая обсуждать и анализировать изменения перед их объединением. Это помогает командам работать вместе, своевременно выявлять проблемы и поддерживать качество кода.
<a href="https://github.com/pulls?ref_product=github&ref_type=engagement&ref_style=button" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline">
<span>Просматривайте ваши pull requests</span><svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-link-external" aria-label="link external icon" role="img"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a>
Работа с запросами на вытягивание
Вкладка «Разговор » pull-запроса показывает описание изменений, хронологию событий, а также комментарии и отзывы от соавторов. Этот центральный хаб позволяет отслеживать обсуждение и ход предлагаемых изменений.
**Вкладка Commits** показывает все коммиты, сделанные в ветке pull request, в хронологическом порядке. Это помогает понять историю разработки и увидеть, как менялись изменения со временем.
**Вкладка «Проверки**» показывает статус автоматизированных тестов, сборок или других рабочих процессов непрерывной интеграции, которые запускаются при запуске коммитов. Эти проверки помогают убедиться, что ваши изменения соответствуют стандартам качества перед объединением.
**Вкладка «Изменённые файлы**» показывает различия между предлагаемыми изменениями и существующим кодом, что позволяет легко увидеть, что изменится при слиянии pull request.
Черновые запросы на вытягивание
Когда вы создаёте pull request, вы можете выбрать вариант draft-pull request. Черновые pull requests нельзя объединять, и владельцы кода не получают автоматического запроса на их проверку. Это полезно, когда вы хотите делиться работой в процессе без официального запроса рецензий.
Когда вы будете готовы получить отзыв о запросе на вытягивание, вы можете пометить черновик запроса на вытягивание как «Готовый к проверке». При пометке запроса на вытягивание как «Готового к проверке» будет запрашиваться проверка всеми владельцами кода. Вы можете в любой момент преобразовать pull request в черновик. См [. раздел AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request).
Ссылки на pull request и ветки слияния
Когда вы открываете pull request, GitHub для него создаётся до двух временных, только для чтения Git-ссылки:
| Ссылка | Описание |
|---|---|
refs/pull/PULL_REQUEST_NUMBER/head | Указывает на последний коммит в головной ветке pull request. |
refs/pull/PULL_REQUEST_NUMBER/merge | Ветка слияния — имитированный коммит слияния, который показывает, как бы выглядел репозиторий, если бы pull request был объединён прямо сейчас. Эта ссылка доступна только тогда, когда в pull request нет конфликтов слияния. |
Ветвь слияния автоматически обновляется при изменении головной или базовой ветви. Чтобы получить его локально:
git fetch origin refs/pull/PULL_REQUEST_NUMBER/merge
git checkout FETCH_HEAD
Замените PULL_REQUEST_NUMBER номер вашего pull request.
Для информации о том, как GitHub Actions используется ветка слияния, см. События, инициирующие рабочие процессы.
Различия между фиксациями на страницах сравнения и на страницах запроса на вытягивание
На страницах сравнения и на страницах запроса на вытягивание используются различные методы вычисления различий между измененными файлами:
- На страницах сравнения отображается различие между подсказкой начальной ссылки и актуальным общим предком (т. е. базой слияния) головной и базовой ссылки.
- На страницах запросов на вытягивание отображается различие между подсказкой начальной ссылки и общим предком головной и базовой ссылки на момент создания запроса на вытягивание. В результате база слияния, используемая для сравнения, может отличаться.
Дополнительные материалы
-
[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) -
[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches) -
[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request)