Skip to content

Latest commit

 

History

History
139 lines (107 loc) · 4.4 KB

File metadata and controls

139 lines (107 loc) · 4.4 KB

Для автора кода

1. Подготовка перед PR

# Перейти в свою feature-ветку
git checkout feature/my-feature

# Просмотреть свои изменения
git diff main
# или
git status

2. Создание Pull Request на GitHub

  1. Пушить ветку на GitHub

    git push origin feature/my-feature
  2. Создать PR через Web-интерфейс

    • Зайти в репозиторий на GitHub
    • Перейти во вкладку "Pull Requests"
    • Нажать "New Pull Request"
    • Выбрать ветки: base: maincompare: feature/my-feature
    • Заполнить шаблон PR
  3. Заполнить форму PR

    ## Что сделано
    - Добавлена авторизация пользователя
    
    ## Зачем
    - Fix #123 (ссылка на issue)
    
    ## Чек-лист
    - [ ] Тесты написаны
    - [ ] Локально протестировано
  4. Добавить ревьюверов

    • В правой колонке PR нажать "Reviewers"
    • Выбрать 1-2 коллег
    • Или упомянуть в описании: @username, пожалуйста, посмотри

Для ревьювера

1. Начать ревью

  1. Открыть PR в GitHub

    • Перейти в список PR → выбрать нужный
  2. Просмотреть изменения

    • Перейти во вкладку "Files changed"
    • Изучить diff кода

2. Оставить комментарии

Типы комментариев:

  • Строчный комментарий:

    1. Навести на нужную строку
    2. Нажать синий значок +
    3. Ввести текст
    4. Нажать "Add single comment" или "Start review"
  • Общий комментарий:

    1. Нажать "Review changes"
    2. Выбрать тип ревью
    3. Ввести комментарий в общее поле

Типы ревью:

  • Comment - только комментарии
  • Approve - одобрить мерж
  • Request changes - запросить правки

3. Пример технических комментариев

# В коде:
if param1 is not int: 
    raise ValueError("Invalid parameter")

# Комментарий:
# Рекомендую использовать not isinstance(param1, int)
# Иначе будет ошибка

Процесс итераций

1. Автор вносит правки

# Внести изменения в код
git add .
git commit -m "fix: address review comments"
git push origin feature/my-feature

2. PR автоматически обновляется

  • Новые коммиты появляются в PR
  • Статус проверок обновляется

3. Работа с комментариями

  • Ответить на комментарий: Нажать "Reply"
  • Пометить как решенный: Нажать "Resolve conversation"
  • Открыть заново: Нажать "Unresolve"

Финал: Мерж PR

Условия для мержа:

  1. Минимум 1 approve
  2. Все CI-проверки пройдены (зеленые галочки)
  3. Нет конфликтов с основной веткой

Варианты мержа:

  1. Merge pull request - обычный мерж
  2. Squash and merge - все коммиты объединяются в один
  3. Rebase and merge - коммиты перебазируются

После мержа:

# Обновить локальную основную ветку
git checkout main
git pull origin main

# Удалить feature-ветку (опционально)
git branch -d feature/my-feature
git push origin --delete feature/my-feature

фичи GitHub

  • Ссылка на конкретную строку: Нажать на номер строки → скопировать URL
  • Временно скрыть whitespace-изменения: Добавить ?w=1 к URL PR
  • Просмотр определенного файла: Нажать на файл в "Files changed"
  • Фильтрация по типу изменений: Кнопка "Viewed", "Unviewed"