# Краткое руководство по запросам на вытягивание

Предложите свое первое изменение и выполните все действия от первой фиксации до объединенного запроса на вытягивание.

Запрос на вытягивание предлагает изменения в ветви отдельно от основной базы кода, чтобы другие могли просматривать изменения до их объединения. В этом кратком руководстве описан самый простой путь к запросу на вытягивание. Вы создадите ветвь, внесите и зафиксируете изменения, откройте запрос на вытягивание, ответите на отзывы и слияние.

Вы можете следовать на GitHub веб-сайте или с GitHub CLI помощью одного из вкладок выше.

## Ветвь или вилка репозитория

Сначала вы создадите изолированное место для работы.

<div class="ghd-tool webui">

1. В GitHubполе  перейдите на главную страницу репозитория, для которого нужно предложить изменения.
2. При необходимости, если у вас нет доступа на запись, потребуется вилка. Щелкните **"Вилку** " в правом верхнем углу и выполните действия. Затем перейдите в вилку репозитория.
3. Щелкните меню селектора ветви в верхней части списка файлов. Это, вероятно, говорит **главное**. Введите новое имя ветви и нажмите кнопку **Create *branch new-branch-name* from main**.

</div>

<div class="ghd-tool cli"> 

1. Чтобы использовать GitHub CLI, сначала необходимо установить его. См [. раздел AUTOTITLE](/ru/github-cli/github-cli/quickstart).

2. Клонируйте репозиторий. Или вилку репозитория и клонируйте его локально одновременно.

* Если у вас есть доступ на запись к репозиторию, клонируйте репозиторий:

  ```shell
  gh repo clone OWNER/REPO
  ```

* Если у вас нет доступа на запись, сначала вы создадите **вилку** и клонируйте его одновременно.

  ```shell
  gh repo fork OWNER/REPO --clone
  ```

1. Перейдите в каталог клонированного репозитория.

   ```shell
   cd REPO
   ```

2. Создайте и переключитесь на новую ветвь.

   ```shell
   git checkout -b YOUR-BRANCH-NAME
   ```

</div>

## Создание или изменение кода

Внесите изменения в ветвь. Для первого запроса на вытягивание сохраните фокус и простое изменение. Более мелкие запросы на вытягивание быстрее просматриваются и упрощают слияние.

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

* Изменение файлов локально в интегрированной среде разработки или текстовом редакторе.
* Измените файл непосредственно, GitHub перейдя к нему и щелкнув <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-pencil" aria-label="Edit this file" role="img"><path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path></svg>его.

## Часто фиксируйте

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

<div class="ghd-tool cli">

```shell
git add .
git commit -m "Describe your change"
git push --set-upstream origin YOUR-BRANCH-NAME
```

</div>

<div class="ghd-tool webui">

При изменении файла GitHub и готовности к фиксации вы введете сообщение фиксации и зафиксируете его непосредственно в ветви.

1. Нажмите кнопку **"Зафиксировать изменения...**".
2. В поле **сообщения "Фиксация** " введите краткое описание внесенных изменений.
3. Выберите ветвь, с которым вы работаете.
4. Нажмите кнопку " **Предложить изменения**".

Изменение будет добавлено и зафиксировано в ветви.

</div>

## Открытие запроса на вытягивание

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

<div class="ghd-tool webui">

1. На главной странице репозитория нажмите кнопку **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-pull-request" aria-label="The pull request icon" role="img"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path></svg> "Запросы на вытягивание**", а затем нажмите кнопку **"Создать запрос на вытягивание**".
2. Для **базовой** ветви основной, вероятно, уже выбран и обычно это базовая ветвь, в которую вы будете объединяться.
3. Для **ветви сравнения** выберите ветвь, содержащую изменения.
4. Нажмите **"Создать pull request"**.
5. Введите заголовок и описание, объясняющее, что вы изменили и почему.
6. Вы можете создать запрос на вытягивание, готовый к просмотру или в черновике.

* Если он готов к просмотру, нажмите кнопку **"Создать запрос на вытягивание**".
* Чтобы предоставить общий доступ к работе, используйте раскрывающийся список и выберите **команду "Создать запрос на вытягивание черновика**".

</div>

<div class="ghd-tool cli">

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

* Если он готов к просмотру:

  ```shell
  gh pr create
  ```

* Предоставление общего доступа к работе

  ```shell
  gh pr create --draft
  ```

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

</div>

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

## Запрос проверки

Чтобы запросить проверку с помощью поля **"Рецензенты"** , необходимо написать доступ к репозиторию и запросить проверку от человека или команды с доступом на чтение к репозиторию. Если запросить проверку, пользователь или команда получит уведомление. В некоторых случаях вы увидите предлагаемых рецензентов, которые можно выбрать.

Если флажок **"Рецензенты** " недоступен для вас, можно:

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

## Отзыв о проверке адреса

Рецензенты могут комментировать, предлагать изменения или запрашивать изменения перед объединением запроса на вытягивание.

* Чтобы принять предложение рецензента, нажмите кнопку **"Зафиксировать предложение** " (или пакетное несколько и нажмите кнопку **"Зафиксировать предложения**").
* Чтобы внести более широкие изменения, измените код и отправьте новые фиксации в ту же ветвь. Запрос на вытягивание обновляется автоматически и повторно выполняет все проверки.
* Пометьте каждую беседу как **разрешенную** после ее устранения.

## Слияние и развертывание

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

> \[!TIP]
> Различные репозитории могут иметь разные требования для объединения. Просмотрите все соответствующие рекомендации и следуйте инструкциям.

<div class="ghd-tool webui">

1. В нижней части запроса **на вытягивание нажмите кнопку "Объединить запрос на вытягивание**".
2. Нажмите кнопку **"Подтвердить"** , чтобы завершить слияние.
3. (Необязательно) Удалите головную ветвь, чтобы сохранить репозиторий в порядок.

</div>

<div class="ghd-tool cli">

```shell
gh pr merge
```

Следуйте инструкциям, чтобы выбрать метод слияния и при необходимости удалить ветвь.

</div>

## Дальнейшие действия

После первого запроса на вытягивание попробуйте просмотреть работу другого пользователя. См [. раздел AUTOTITLE](/ru/pull-requests/get-started/reviewing-pull-requests-quickstart).

## Дополнительные материалы

* [Writing code for a project](/ru/pull-requests/concepts/writing-code-for-a-project)
* [Запросы на слияние](/ru/pull-requests/reference/pull-requests)