Мы уже разобрали систему контроля версий Git и графические клиенты. Теперь расскажем о платформах для управления репозиториями.
Одна из ключевых особенностей Git — это
распределенная система. Т.е. код хранится и на локальной машине разработчика, и на сервере где работает сайт, и еще в каком-то удаленном централизованном хранилище, например, в рамках компании.
К централизованному хранилищу предъявляются требования по доступности и надежности.
В качестве удаленного хранилища репозиториев может использоваться как веб-сервис, так и развернутая на своих серверах система. Познакомимся с самыми популярными платформами.
GitHubGitHub — это крупнейший веб-сервис для хостинга IT-проектов и их совместной разработки. Кроме размещения кода, участники могут общаться, комментировать правки друг друга, а также следить за новостями знакомых. Поэтому GitHub называют «соцсетью для разработчиков».
— Доступны публичные и приватные репозитории.
— Есть инструмент для отслеживания ошибок и редактор с подсветкой кода прямо на сайте.
— Место, где размещают свой код самые известные библиотеки и языки программирования с открытым исходным кодом: Python, Django, FastAPI, Requests, NumPy.
Платформа бесплатная для проектов с открытым исходным кодом.
❗️В настоящее время GitHub принадлежит компании Microsoft. Доступ к платформе уже ограничен из Крыма и новых регионов РФ. Надеемся, что санкции не отрежут полностью доступ к столь важному для российского IT-сообщества сервису.
GitLab— имеет близкий к GitHub интерфейс,
— собственную wiki-систему,
— issue-трекер,
— возможность назначить пользователям роли в проекте,
— встроенные возможности непрерывной интеграции и развертывания (CI/CD), — — — инструменты для постановки и отслеживания задач,
— интеграцию с Google Cloud.
Почти полностью повторяет функционал GitHub.
В настоящее время — это один из самых распространенных вариантов для компаний в РФ, которые могут развернуть GitLab на своих серверах, благодаря лицензии, позволяющей использовать систему для работы с проприетарным (коммерческим) кодом.
BitBucketПлатформа от Atlassian, которой также принадлежат популярные в IT системы Jira, Trello и Confluence. Сервис интегрирован с этими и другими проектами — например, инструментами развертывания приложений AWS CodeDeploy и Deploy to Azure, сервисом для поиска ошибок Instabug, средами разработки Visual Studio и Unity и прочими.
🛑Платформа ориентирована на большие компании. Но из-за санкций Atlassian со всеми продуктами официально покинул РФ.
GitVerseПлатформа анонсирована СберТехом в 2023 году. Это российская разработка и она выглядит перспективно на фоне массового ухода с рынка РФ зарубежных веб-сервисов.
Заявленная стратегическая цель — создать некое «единое окно», среду, где можно вести весь процесс разработки: от проектирования архитектуры до деплоя. По задумке эта среда будет пронизана ИИ, автоматизирующим рутинные задачи. Таким образом разработчик сможет достичь максимальной эффективности и сосредоточиться на решении сложных проблем.
Платформа активно развивается и уже доступна для размещения личных репозиториев. Все еще довольно редкая.
В
уроках Девман учебные проекты обязательно оформляются в публичные репозитории на GitHub. Поскольку каждый учебный проект проверяется опытным разработчиком и затем дорабатывается, то по итогам обучения наши ученики получают достойное портфолио проектов с чистым кодом.
GitHub наверняка пользовался каждый начинающий разработчик. Внутри Девмана используем GitLab, развернутый на нашем сервере. В РФ активно внедряют платформу GitVerse.
В мире Python-разработки Git давно стал не просто рекомендацией, а стандартом де-факто. Без него невозможно представить себе ни одного серьезного проекта, будь то веб-приложение или библиотека с открытым исходным кодом. Требования по владению Git есть в каждой вакансии.
Так что не откладывайте. Начните с малого: установите клиент, сделайте первый коммит в учебном проекте, попробуйте откатить изменения.
Освоить Git — значит перестать быть любителем, который хранит код в папках с датами. И стать профессиональным разработчиком, для которого открыта дорога в любую команду и любой проект. Выбор за вами, но теперь вы точно знаете, с какой стороны подойти к инструменту.