Сведения о запросах на вытягивание
Запрос на вытягивание — это предложение объединить набор изменений из одной ветви в другую. В запросе на вытягивание сотрудники могут просматривать и обсуждать предлагаемый набор изменений, прежде чем они интегрируют изменения в основную базу кода. Запросы на вытягивание отображают различия или диффы между содержимым в исходной ветви и содержимым в целевой ветви.
Note
При работе с запросами на вытягивание следует учитывать следующее:
- Если вы работаете в модели общего репозитория, рекомендуется использовать для запроса на вытягивание тематическую ветвь. При том, что запросы на вытягивание можно отправлять из любой ветви или фиксации, тематическая ветвь позволяет отправлять дальнейшие фиксации, если вам нужно обновить предлагаемые изменения.
- При принудительной отправке фиксаций в запрос на вытягивание будьте предельно внимательны. Принудительная отправка меняет журнал репозитория и может вызвать повреждение запроса на вытягивание. Если другие участники совместной работы перед принудительной отправкой создают ветви, то принудительная отправка может перезаписать фиксации, на которых участники строят свою работу.
Запросы на вытягивание можно создавать на GitHub.com, с помощью GitHub Desktop, в GitHub Codespaces, в GitHub Mobile, а также при использовании интерфейса командной строки GitHub.
После инициализации запроса на вытягивание вы увидите обзорную страницу с общими сведениями о различиях между вашей ветвью (ветвью сравнения) и базовой ветвью репозитория. Здесь можно добавить сводку предлагаемых изменений, просмотреть изменения, внесенные фиксациями, добавить метки, вехи и ответственных, а также отметить (@mention) отдельных участников или команд. См . раздел AUTOTITLE.
После создания запроса на вытягивание вы сможете отправить фиксации из тематической ветви, чтобы добавить их в существующий запрос на вытягивание. Фиксации отображаются в запросе на вытягивание в хронологическом порядке, а изменения показываются на вкладке "Измененные файлы".
Другие участники совместной работы могут просматривать предложенные изменения, добавлять комментарии к проверке, участвовать в обсуждении запроса на вытягивание и даже добавлять фиксации в запрос на вытягивание. По умолчанию в общедоступных репозиториях любой пользователь может отправлять отзывы, которые утверждают или запрашивают изменения запроса на вытягивание. Владельцы организации и администраторы репозитория могут ограничивать пользователей, которые могут утверждать проверки запросов на вытягивание или изменения запросов. Дополнительные сведения см. в разделе "[AUTOTITLE" и "Управление проверками запросов на вытягивание в организации](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-pull-request-reviews-in-your-repository)".
Сведения о текущем состоянии развертывания ветви и прошлом действии развертывания см. на вкладке "Беседа". См . раздел AUTOTITLE.
Если предложенные изменения вас устраивают, запрос на вытягивание можно объединить. Если вы работаете в модели общего репозитория, вы создаете запрос на вытягивание, а затем вы или другой пользователь объединяете изменения из ветви компонента в базовую ветвь, указанную в запросе на вытягивание. См . раздел AUTOTITLE.
Если для репозитория требуются проверки состояния, перед объединением ветви в защищенную ветвь необходимо пройти проверку состояния. Дополнительные сведения см. в разделе Сведения о защищенных ветвях.
Можно связать запрос на вытягивание с проблемой, чтобы показать, что выполняется исправление, а также чтобы автоматически закрыть проблему при слиянии запроса на вытягивание. Дополнительные сведения см. в разделе Связывание запроса на вытягивание с проблемой.
Tip
- Для свертывания или развертывания всех устаревших комментариев к проверке в запросе на вытягивание, щелкните Показать устаревшие или Скрыть устаревшие, нажав и удерживая клавишу OptionAltAlt . Дополнительные сочетания клавиш см. в разделе сочетания клавиш;.
- При слиянии запроса на вытягивание фиксации можно сжать, чтобы получить более простое представление изменений. См . раздел AUTOTITLE.
Для быстрого поиска ссылок на недавно обновленные запросы на вытягивание, над которыми вы работаете или на которые вы подписаны, можно использовать панель мониторинга. См . раздел AUTOTITLE.
Черновые запросы на вытягивание
Черновики запросов на вытягивание доступны в общедоступных репозиториях с GitHub Free для организаций и устаревших планов выставления счетов для каждого репозитория. Черновик запросов на вытягивание также доступен в общедоступных и частных репозиториях с GitHub Team, GitHub Enterprise Cloudи GitHub Enterprise Server. Дополнительные сведения см. в разделе "Планы GitHub".
При создании запроса на вытягивание можно создать запрос на вытягивание, готовый к проверке, или черновик запроса на вытягивание. Черновики запросов на вытягивание нельзя объединять и проверка таких черновиков не запрашивается у владельцев кода автоматически. См. раздел [AUTOTITLE и Создание запроса на включение изменений](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork).
Когда вы будете готовы получить отзыв о запросе на вытягивание, вы можете пометить черновик запроса на вытягивание как «Готовый к проверке». При пометке запроса на вытягивание как «Готового к проверке» будет запрашиваться проверка всеми владельцами кода. Запрос на вытягивание можно в любой момент преобразовать в черновик. См . раздел AUTOTITLE.
Различия между фиксациями на страницах сравнения и на страницах запроса на вытягивание
На страницах сравнения и на страницах запроса на вытягивание используются различные методы вычисления различий между измененными файлами:
- На страницах сравнения отображается различие между подсказкой начальной ссылки и актуальным общим предком (т. е. базой слияния) головной и базовой ссылки.
- На страницах запросов на вытягивание отображается различие между подсказкой начальной ссылки и общим предком головной и базовой ссылки на момент создания запроса на вытягивание. Это значит, что база слияния, используемая для сравнения, может отличаться.