Issues и обсуждения проекта
Знакомимся с Issues — встроенным трекером задач и багов GitHub, который связывает всю работу команды.
Issue — запись на GitHub о задаче, идее или баге, вокруг которой ведётся обсуждение.
Зачем нужны Issues
Любой работе нужен список дел. Issues — встроенный в GitHub трекер: тут заводят баги, фичи, вопросы, идеи. Каждый Issue имеет заголовок, описание, обсуждение в комментариях и набор меток. Это место, где команда договаривается «что делаем» до того, как писать код.
Структура Issue
- Заголовок и описание — суть проблемы или задачи.
- Labels (метки) — категории:
bug,enhancement,good first issueи т. п. - Assignees — кто отвечает за задачу.
- Milestone — к какой вехе/релизу относится.
- Comments — обсуждение и уточнения.
Хороший баг-репорт
Чтобы баг можно было исправить, опишите:
- что вы делали (шаги воспроизведения);
- что ожидали увидеть;
- что произошло на самом деле;
- окружение: версия, ОС, браузер.
Связь Issues с кодом
Issue и код связываются по номеру через #. Если в сообщении коммита или описании PR написать ключевое слово с номером, GitHub автоматически закроет Issue при слиянии в основную ветку:
git commit -m "Исправить переполнение корзины (closes #42)"Ключевые слова-закрыватели: close, closes, fix, fixes, resolve, resolves. Просто упоминание #42 без ключевого слова создаст ссылку, но не закроет задачу.
Discussions — для обсуждений, а не задач
Помимо Issues у GitHub есть раздел Discussions. Разница простая:
| Issues | конкретная работа: баг или задача, которую нужно сделать и закрыть |
| Discussions | открытые вопросы, идеи, помощь — то, что не обязательно «закрывается» |
Шаблоны
В зрелых проектах есть шаблоны Issue (issue templates) — заготовки с нужными полями, чтобы все баг-репорты были единообразны. Их кладут в папку .github/ISSUE_TEMPLATE/ репозитория.
Доски и проекты
Когда задач становится много, плоского списка Issues мало. GitHub Projects позволяет разложить Issues по колонкам канбан-доски: «To do», «In progress», «Done». Карточки перетаскиваются между колонками, и вся команда видит, кто чем занят и что осталось сделать. Issues при этом остаются единым источником правды, а доска — лишь удобным представлением.
good first issue
Если вы хотите попробовать себя в open source, ищите в проектах метку good first issue. Так мейнтейнеры помечают простые задачи, специально подходящие новичкам. Это дружелюбная точка входа: задача понятна, объём небольшой, а решив её, вы сделаете свой первый вклад в настоящий проект и пройдёте весь путь форк → ветка → PR на практике.
Итог
- Issues — встроенный трекер задач и багов GitHub с метками, исполнителями и обсуждением.
- Ключевые слова
closes #Nв коммите/PR автоматически закрывают Issue при слиянии. - Discussions — для открытых обсуждений и идей, Issues — для конкретной работы.