Что такое GitHub и для чего он используется в разработке?

«Что такое GitHub и для чего он используется в разработке?» — вопрос из категории DevOps, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

GitHub — это облачная платформа для хостинга Git-репозиториев и организации совместной работы над кодом (DevOps-платформа).

Ключевые функции и использование:

  • Хранение кода: Удаленный хостинг репозиториев (помимо локального на машине разработчика).
  • Контроль версий: Полная поддержка Git (commit, push, pull, branch, merge, rebase).
  • Ветвление и код-ревью: Основной инструмент совместной работы — Pull Requests (PR) с обсуждением изменений.
  • Интеграция и доставка (CI/CD): Встроенный инструмент GitHub Actions для автоматизации сборки, тестирования и деплоя.
  • Управление проектами:
    • Issues — система задач и баг-трекинга.
    • Projects — канбан-доски для планирования.
    • Wiki — документация проекта.

Базовый рабочий процесс:

# 1. Клонирование удаленного репозитория с GitHub
git clone https://github.com/username/project-name.git

# 2. Создание новой ветки для задачи
git checkout -b feature/new-login-form

# 3. Внесение изменений, коммиты
git add .
git commit -m "Add new login form component"

# 4. Отправка ветки на GitHub
git push origin feature/new-login-form

После push на GitHub создается Pull Request для слияния ветки feature/new-login-form в основную ветку (main/master).

Альтернативы: GitLab, Bitbucket, Gitea.