Введение
После освоения участия в проектах пора перейти к созданию и администрированию собственного проекта на GitHub. Этот процесс включает создание репозиториев, управление участниками, обработку запросов на слияние и настройку уведомлений. В этой статье мы подробно разберем шаги и лучшие практики для успешного сопровождения проекта.
Создание нового репозитория
Для начала создайте репозиторий для вашего проекта. Нажмите кнопку «New repository» в правой панели управления или кнопку «+» рядом с вашим именем пользователя в верхнем меню. Откроется форма, где достаточно указать название проекта, например, olgaivanova/my-todo-app. Нажмите «Create Repository», и репозиторий будет готов.
Поскольку код ещё отсутствует, GitHub предложит инструкции по инициализации нового репозитория или подключения существующего. Проект станет доступен по ссылкам: https://github.com/olgaivanova/my-todo-app (HTTP) или git@github.com:olgaivanova/my-todo-app (SSH). Для публичных проектов предпочтительнее использовать HTTPS.
Добавление участников
Если вы хотите предоставить доступ для отправки коммитов, добавьте участников через настройки. Например, добавьте пользователей «maria_petrova» и «ivan_smirnov». Перейдите в «Settings» в правой панели, выберите «Collaborators», введите имена в поле и нажмите «Add collaborator». Для отзыва доступа нажмите «X» рядом с именем.
Управление запросами на слияние
Предположим, ваш проект — olgaivanova/my-todo-app. Вы можете получать запросы на слияние как из внутренних веток, так и из форков. Пример: пользователь отправил запрос, изменив функционал добавления задач.
Вы получите email-уведомление с информацией о запросе, включая количество изменений и ссылку на страницу. Для слияния используйте команду:
$ curl https://github.com/olgaivanova/my-todo-app/pull/1.patch | git am Или нажмите «Merge» на сайте GitHub для автоматического создания коммита слияния.
Взаимодействие по запросу на слияние
Общайтесь с автором запроса, оставляя комментарии к строкам или общему запросу. При получении комментария вы получите уведомление. Для слияния локально выполните:
$ git pull https://github.com/olgaivanova/my-todo-app pull/1/head Если слияние не требуется, закройте запрос, и автор будет уведомлён.
Ссылки на запросы слияния
Для упрощения работы с запросами используйте команду git ls-remote. Пример для репозитория olgaivanova/my-todo-app:
$ git ls-remote https://github.com/olgaivanova/my-todo-app Это покажет ветки, включая refs/pull/*/head. Для получения конкретного запроса выполните:
$ git fetch origin refs/pull/1/head Для автоматического получения всех запросов обновите .git/config:
[remote "origin"]
url = https://github.com/olgaivanova/my-todo-app.git
fetch = +refs/heads/*:refs/remotes/origin/*
fetch = +refs/pull/*/head:refs/remotes/origin/pr/* Теперь git fetch загрузит все запросы как ветки слежения, например, pr/1.
Запросы слияния на запросы слияния
Вы можете улучшить существующий запрос, открыв новый, указывающий на него. На странице запроса нажмите «Edit», выберите целевой запрос (например, pr/2) и свою ветку.
Упоминания и уведомления
Упомяните участников (например, @maria_petrova) в комментариях для уведомлений. Для управления уведомлениями перейдите в «Notification center» в настройках. Выберите email или веб-уведомления и используйте кнопку «Unsubscribe» для отключения.
Особенные файлы
Добавьте файл README.md с описанием проекта, установкой и правилами. Создайте CONTRIBUTING.md с рекомендациями для участников — GitHub покажет ссылку на него при создании запросов.
Управление проектом
Измените основную ветку (например, на main) в «Options». Для передачи проекта нажмите «Transfer ownership» в тех же настройках, указав нового владельца или организацию.
Заключение
Сопровождение проекта на GitHub требует настройки репозиториев, управления участниками и запросами.
Отзывы