Внесение вклада в проект#

Этот документ предоставляет руководство по тому, как внести вклад в проект на GitHub.

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

master#

Ветка master ветка используется для хранения стабильных и релизных версий проекта. Это значит, что код в этой ветке должен быть прошедшим проверку на ошибки и тестирование. Все изменения вносятся в ветку master только после тщательного тестирования и проверки их стабильности в ветке develop.

develop#

Ветка develop используется для разработки новых функций и исправления ошибок. Она является основной для всех дополнений, изменений и правок в проекте. Она может считаться более “нестабильной” в сравнении с master, так как новый код добавляется сюда для дальнейшей проверки и тестирования.

Все новые изменения вносятся в ветку develop, где они могут быть объединены и протестированы вместе с другими изменениями.

Шаг 1: Создание форка#

Создайте форк репозитория – собственную копию, с которой будете работать.

  1. Перейдите на страницу проекта на GitHub.

  2. Нажмите кнопку Fork.

  3. Не изменяя настроек по умолчанию, нажмите кнопку Create fork.

    В вашем профиле GitHub будет создана копия репозитория.

Шаг 1: Клонирование репозитория#

Attention

Для клонирования репозитория используйте ветку develop!

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

  1. На странице репозитория нажмите кнопку Code.

  2. В открывшейся панели на вкладке Local выберите вкладку SSH.

  3. Скопируйте путь к репозиторию в буфер обмена.

  4. Запустите эмулятор терминала и выполните команду клонирования репозитория с GitHub на локальный компьютер:

    git clone ссылка-на-репозиторий
    
  5. Переключитесь на ветку develop:

    git checkout -b develop
    

Шаг 2: Создание рабочей ветки и переключение на неё#

Attention

Вносить изменения напрямую в ветки develop и master запрещено.

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

  1. Перейдите в папку проекта:

    cd techwritersru/
    
  2. Создайте новую ветку для ваших изменений:

    git checkout -b название-вашей-ветки
    

Шаг 3: Внесение изменений#

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

Шаг 4: Добавить и зафиксировать изменения (commit)#

На этом шаге вы фиксируете все изменения локально.

  1. Добавьте изменения в индекс:

    git add .
    
  2. Сделайте коммит с описанием ваших изменений:

    git commit -m "Описание ваших изменений"
    

Шаг 5: Отправка изменений на GitHub#

  1. Создайте одноимённую ветку на GitHub:

    git push origin --set-upstream название-вашей-ветки
    

Шаг 6: Создание Pull Request#

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

  1. Откройте страницу вашего форка на GitHub.

  2. Нажмите кнопку New Pull Request.

  3. Заполните форму создания PR.

  4. Добавьте описание ваших изменений (на русском языке).

  5. Нажмите кнопку Create Pull Request.

Шаг 7: Обсуждение и слияние#

  1. Ожидайте комментарии и обратную связь от владельца проекта.

  2. Владелец проекта может слить ваши изменения с основной веткой после проверки и одобрения.

Шаг 8: Синхронизация с основным проектом (при необходимости)#

  1. Если ваш Pull Request принят, вы можете удалить ветку и создать новую с последним состоянием основной ветки:

    git checkout main
    git pull upstream main
    
  2. Если вы хотите обновить свою ветку до последнего состояния основной ветки:

    git checkout your-feature-branch
    git merge main
    

Note

Важно следовать указаниям и рекомендациям владельца проекта для внесения вклада.

Инструкции для администратора#

Как принимать изменения (Pull requests) из других веток#

Для принятия Pull Request на GitHub, выполните следующие шаги:

  1. Откройте ваш репозиторий на GitHub.

  2. Перейдите в раздел Pull Requests в верхней части страницы вашего репозитория.

  3. Найдите нужный PR в списке открытых PR.

  4. Нажмите на заголовок PR, чтобы открыть его страницу.

  5. На странице PR вы увидите кнопку Merge.

  6. GitHub предоставит вам опции для слияния PR. Вы можете выбрать, каким образом вы хотите сливать изменения:

    • “Create a merge commit” – в этом случае будут сохранены детали всех изменений и коммитов из ветки PR. В истории коммитов появятся дополнительные коммиты слияния, чтобы показать, какие изменения были внесены из PR.

    • “Squash and merge” – в этом случае все изменения из ветки PR объединяются в один коммит, что делает историю коммитов более чистой и упрощенной.

      Tip

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

  7. Нажмите кнопку Confirm merge, чтобы выполнить слияние.

Attention

После выполнения слияния на GitHub обновите локальный репозиторий.

Загрузка изменений в ветку master#

  1. Переключитесь на ветку develop:

    git checkout develop
    
  2. Получите последнюю версию ветки develop из репозитория:

    git pull origin develop
    
  3. Переключитесь на ветку master:

    git checkout master
    
  4. Создайте коммит-слияние ветки master с веткой develop:

    git merge -m “ваш комментарий” develop

  5. Обновите ветку в репозитории на GitHub:

    git push origin master