Skip to content

Commit

Permalink
Добавляет рецепт «Как работать в пулреквестах на GitHub» (#4724)
Browse files Browse the repository at this point in the history
* Добавляет рецепт «Как работать в пулреквестах»

* Дополняет словарь

* Исправляет дополнение в словарь

* Исправляет английское e на русское е

* Принимает правки @solarust

Co-authored-by: Alena Batitskaia <[email protected]>

* Добавляет пояснение про split view

* Исправляет ошибку

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

* Меняет описание

* Удаляет случайный файл в пиаре

* Меняет заголовок

* Принимает правки @skorobaeus

Co-authored-by: Svetlana Korobtseva <[email protected]>

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

---------

Co-authored-by: Alena Batitskaia <[email protected]>
Co-authored-by: Svetlana Korobtseva <[email protected]>
  • Loading branch information
3 people authored Sep 27, 2023
1 parent 8d9be49 commit 45a3806
Show file tree
Hide file tree
Showing 11 changed files with 64 additions and 2 deletions.
4 changes: 2 additions & 2 deletions .yaspeller.json
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,7 @@
"Охос",
"пагинатор(ы|ов|а|)",
"паддингами",
"пайплайн(а|ов|)",
"пайплайн(а|ов|ы|)",
"панцирнотвердой",
"параллелить",
"парси(т|ть|л|м)",
Expand Down Expand Up @@ -439,7 +439,7 @@
"распространëнных",
"ребайндинг",
"ребейзить",
"ревью(ер|ера|еров|еры|)",
"ревью(ер|ера|еры|еров|ером|ерами|)",
"регистрозависимы(е|)",
"регистронезависим(ые|ое)",
"редьюс(ер|ера|еры|еров|ерах)",
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
61 changes: 61 additions & 0 deletions recipes/github-manage-pull-request/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
title: "Как работать в пулреквестах на GitHub"
description: "Организуйте работу в пулреквестах на GitHub."
authors:
- igsekor
related:
- tools/version-control
- tools/git-cli
- tools/github-actions
tags:
- article
---

## Задача

Организовать работу в пулреквестах.

## Готовое решение

Пулреквест в интерфейсе GitHub имеет четыре вкладки, на которых справа налево расположены:

- страница для обсуждения изменений;
- страница со списком коммитов;
- страница со списком результатов проверок пулреквеста;
- страница со всеми изменениями в файлах.

![Вкладки на странице пулреквеста. Описание перед скриншотом](images/pull-request-tabs.png)

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

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

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

На этой вкладке можно добавлять комментарии с помощью поля и кнопки «Comment» внизу страницы. Первым комментарием, как правило, является описание изменений в пулреквесте. Очень важно делать его подробным. Часто можно встретить шаблоны, которые нужно заполнить при создании пулреквеста. Например, в Доке такой шаблон есть. Он позволяет ничего не забыть при описании. На вкладке с обсуждениями также выводятся и все коммиты, комментарии к которым приобретают большой смысл. Они выступают в качестве вех в обсуждении пулреквеста, что вносит дополнительную организацию в работу.

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

Страница со списком проверок называется «Checks» не случайно. Обычно пулреквесты проходят ряд автоматических проверок (орфография, грамматика, стиль кода и прочее). Но эта вкладка рассматривается несколько шире, поскольку содержит список всех результатов действия пайплайнов GitHub, о которых подробнее можно почитать в статье «[GitHub Actions](/tools/github-actions/ "Собираем пример CI/CD пайплайна в Github")». Сами пайплайны не ограничены только проверками, поэтому «Checks» скорее отражает типовое использование GitHub Actions в рамках пулреквеста.

На последней вкладке содержится список изменений в формате разницы между тем, что было (в колонке слева), и что стало (в колонке справа) с файлами репозитория. Режим с двумя колонками доступен, если в настройках вкладки выбран соответствующий пункт:

![Выбор представления последней вкладки на странице пулреквеста. Описание перед скриншотом](images/choose-split-view.png)

Зелёным цветом и плюсами слева показаны добавленные символы или строчки, красным и минусами — удалённые. Если провести мышкой по левой стороне правой колонки (в колонке с номерами строк), то появляется кнопка «+». При нажатии на неё появляется возможность создать комментарий, привязанный к конкретной строке. Кнопка «+/-» нужна для включения необходимых изменений к пулреквесту. Кнопка «Add single comment» позволяет оставить независимый комментарий, а кнопка «Start a review» — начать ревью.

![Добавление комментария на GitHub. Описание перед скриншотом](images/add-a-comment.png)

![Окончание редактирования комментария на GitHub. Описание перед скриншотом](images/write-a-comment.png)

В верхней части интерфейса последней вкладки также присутствует кнопка «Review changes», при нажатии на которую появляется всплывающее окно с возможностью одобрить пулреквест (кнопкой «Approve»), добавить комментарий (кнопкой «Comment») или запросить изменения у автора пулреквеста (кнопкой «Request changes»). Также можно оставить комментарий автору пулреквеста.

![Добавление финального комментария по ревью пулреквеста на GitHub. Описание перед скриншотом](images/add-review-of-changes.png)

![Сохранение ревью пулреквеста на GitHub. Описание перед скриншотом](images/finish-review-of-changes.png)

В процессе комментирования ревьюер может оставить комментарии, в которых содержатся изменения в файлах, которые можно принять (закоммитить с комментарием) по одному кнопкой «Commit suggestion» или добавить в общий список изменений кнопкой «Add suggestion to batch», чтобы потом закоммитить все сразу пачкой. Такой подход очень удобен, поскольку позволяет структурировать изменения в ходе ревью. Например, можно принять правки от одного ревьюера, а потом от другого. При нажатии кнопки «Commit suggestion» появляется окно, в котором можно указать комментарий в коммиту и создать его.

![Добавление правок ревьюера пулреквеста в список изменений. Описание перед скриншотом](images/add-suggestions.png)

![Сохранение правок ревьюера в коммите. Описание перед скриншотом](images/commit-changes.png)
1 change: 1 addition & 0 deletions recipes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ groups:
- github-add-user-to-repo
- github-search-in-issues
- github-new-pull-request
- github-manage-pull-request
- github-editing-files-in-browser
- github-new-issue
- github-add-readme
Expand Down

0 comments on commit 45a3806

Please sign in to comment.