Перейти к содержимому
TelegramGitHub

Git

Git — это основа. Весь код инженера данных живёт в Git: SQL, dbt-модели, DAG в Airflow, конфигурации и инфраструктура.

🇷🇺 / 🇬🇧 — язык материалов

⭐ — наша рекомендация

Git — это распределённая система контроля версий, которая стала стандартом в современной разработке, включая Data Engineering. В контексте Data Engineering и Analytics, Git и системы версионного контроля применяются в следующих ключевых аспектах:

  1. Версионирование кода и конфигураций
    Git позволяет отслеживать изменения в коде ETL-процессов, SQL-запросах и конфигурационных файлах. Это обеспечивает возможность отката к предыдущим версиям и помогает понимать, кто и когда внёс изменения в data pipeline.

  2. Командная работа и code review
    Через механизмы pull/merge requests команды могут эффективно проводить code review изменений в ETL-процессах, проверять качество кода и обмениваться знаниями. Это особенно важно при работе с критически важными data pipelines.

  3. Интеграция с CI/CD
    Современные Git-платформы предоставляют встроенные инструменты для CI/CD (например, GitHub Actions, GitLab CI/CD), что позволяет автоматизировать тестирование, развертывание и валидацию данных при каждом изменении в репозитории.

Основные платформы для хостинга Git-репозиториев:

  • GitHub — крупнейшая платформа для хостинга открытого кода с широкими возможностями для CI/CD и командной работы
  • GitLab — наиболее популярная платформа в концепции self-hosted, предоставляющая полный набор инструментов DevOps
  • Bitbucket — платформа от Atlassian, тесно интегрированная с другими продуктами компании
  • Gitea — легковесная self-hosted платформа, простая в установке и администрировании
  • clone, status, add, commit, push, pull.
  • Работать в ветках: switch -c, merge, rebase.
  • Решать конфликты при merge.
  • Открывать pull request и делать code review.
  • Писать понятные commit-сообщения.
  • Использовать .gitignore. Не коммитить пароли и ключи.
  • Pro Git 🇷🇺 ⭐ — бесплатная книга, есть перевод на русский.
  • Learn Git Branching 🇷🇺 ⭐ — интерактивный тренажёр по веткам.
  • GitHub Skills 🇬🇧 — короткие практические курсы от GitHub.

Когда освоите Git, переходите к DevOps: CI/CD, Docker и инфраструктура как код. Это темы уровня Senior.