Какова роль GitHub в разработке и чем он отличается от Git?

Ответ

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

  • Git — это распределённая система контроля версий (инструмент), работающая локально.
  • GitHub — это сервис (облачная платформа), который предоставляет удалённое хранилище для Git-репозиториев и добавляет к нему мощные инструменты для совместной работы.

Основные возможности GitHub:

  • Хостинг репозиториев: централизованное и безопасное место для хранения кода.
  • Совместная работа: механизм Pull Requests для предложения изменений и проведения Code Review.
  • Отслеживание задач: система Issues для баг-репортов и предложений.
  • Автоматизация (CI/CD): GitHub Actions для автоматической сборки, тестирования и развёртывания приложений.
  • Социальные функции: возможность следить за проектами (star), создавать их копии (fork) и вносить свой вклад в Open Source.

Типичный рабочий процесс:

# 1. Клонировать репозиторий с GitHub
git clone https://github.com/user/repo.git
cd repo

# 2. Создать новую ветку для своей задачи
git checkout -b new-feature

# 3. Внести изменения и закоммитить их
git add .
git commit -m "feat: Implement new feature"

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

# 5. Создать Pull Request через веб-интерфейс GitHub