Skip to content

[IDEA] Использовать отдельную ветку для каждого issue #545

@dshilin

Description

@dshilin

Feature description

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

Общая теория:

Ветка — это независимая линия разработки в системе контроля версий (например, Git), позволяющая работать над новыми функциями или исправлениями без влияния на основной код. Любые изменения основного кода происходят в ветках, включая исправление ошибок. Ишью это отдельная задача, соответственно ее логично делать в отдельной ветке

Image

После того как код в отдельной ветке проверен другими участниками (когда сделано ревью), код из ветки сливается в основную ветку. Делается это по средством создания PR (pull request)

Image

Теперь вернемся к нашей конкретной ситуации.

  1. Мы делаем форк чужого репозитория (при этой операции будет задан вопрос, какие ветки мы хотим копировать к себе, в общем случае его можно игнорировать), но по итогу мы копируем к себе ветку main:
Image
  1. Студент из ветки main делает для каждого issue новую ветку, например, для issue 123 будет создана ветка "fix/issue123".

Команда для создания новой ветки с именем "fix/issue123"

git checkout -b "fix/issue123"

Image
  1. Когда задание готово, все действия полностью совпадают с уже известными действиями добавление новых файлов и создания коммита.
Image
  1. После этого жмем на кнопку отправить:
Image
  1. После успешной отправки нашей ветки в Github, открываем наш репозиторий и создаеть Pull Request из этой ветки, нам предложит сам GitHub
Image

8.Дальше все тоже самое, отправляется PR на ревью.
9. Студент переключается обратно в main

git checkout main

  1. и проходит курс дальше до следующего ревью.Надо ли делать merge в main - на усмотрение @ruslansenatorov . Мое мнение, что смысла нет в этом особого.Image
    Студенты смогут больше узнать о механизме ветвления. При готовности нескольких заданий студент может запросить несколько ревью из разных веток. Каждое задание будет изолировано в рамках git.
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions