GitLab или GitHub? Как выбрать ресурс под определённый тип репозитория
GitLab не так популярен, как GitHub. Но исходный код открыт, а приватные репозитории компаний бесплатны. Кратко обобщаем, для каких видов проектов какой инструмент лучше применять.
GitHub и GitLab – альтернативные системы управления репозиториями кода для Git. Оба ресурса предоставляют возможности для хостинга IT-проектов и их совместной разработки. В этой публикации мы кратко сравним услуги и цели, для которых вы можете использовать каждую из систем.
Отличительные черты GitHub и прогресс прошлого года
- Появилась возможность спонсировать проекты.
- GitHub догнал GitLab по непрерывной интеграции.
- Улучшена модель ценообразования.
- Добавлены Actions, статусы, поддержка пакетов.
- Улучшена интеграция c VSCode.
- Колоссальное, продолжающее расти сообщество пользователей.
- Проекты проще получают поддержку от контрибьюторов.
- Добавлена автоматическая проверка безопасности и отчёты.
- Ресурс стал активнее в социальных сетях (Twitter и т.п.)
- Отслеживание и анализ активности пользователей.
- По-прежнему взимается плата с закрытых репозиториев компаний.
- Плоская организация.
- Скандальное прошлое.
- Ненулевая вероятность, что Microsoft сделает что-то дурное.
Чем отвечает GitLab
- До сих пор многие не знают, что он существует.
- Приватный репозиторий создаётся из командной строки.
- Безопаснее.
- Имеет подгруппы для иерархической организации.
- Закрытые репозитории бесплатны, группы не ограничены.
- Красивый и удобный интерфейс, который можно использовать даже для GitHub.
- Открытый исходный код.
Личные и групповые учётные записи
В отличие от GitLab, за приватные репозитории на GitHub нужно платить. Это привело к неприятному побочному эффекту. Значимые библиотеки и модули, пакеты и целые фреймворки связаны с отдельными учётными записями. Даже если человек уже не имеет никакого отношения к обслуживанию проекта. Впрочем, GitHub обратил внимани на это упущение и стал развивать функционал организаций и команд. В репозиториях организаций теперь есть команды, можно создавать подгруппы, и для каждой указывать свои настройки и доступы к репозиториям.
Бесплатность командных приватных репозиториев повлияла на то, что компании нередко выбирают GitLab. Но функционал subgroups недоступен для личных учётных записей. Поэтому группы на GitLab стали важнее персональных аккаунтов. Многие разработчики называют группы своим никнеймом, а чтобы отличать имя собственной записи, добавляют в начале нижнее подчёркивание.
В свою очередь GitHub с давних пор поддерживает идею о том, что значимая работа в программировании делается людьми по отдельности. Поощряющие «награды» (форки, звёзды, лента коммитов) должны храниться в их «личном кабинете». Это привело к тому, что публичная активность на GitHub учитывается при поиске персонала, на конференциях и т. д.
Что хранить на GitLab 🦊
Кроме веб-сервиса GitLab предоставляет открытый исходный код. Систему можно быстро и безболезненно запустить на собственном сервере. Если пользоваться веб-сервисом, то для следующих задач:
- Закрытый контент команд, компаний, организаций.
- Личные рабочие репозитории (для хранения «на всякий случай»).
- Персонализированные данные.
- Проекты учебных материалов.
- Веб-разработка (удобный инструмент – GitLab Pages).
Для всего остального есть GitHub 🐙🐈
Весь прочий контент можно смело направлять на GitHub. Если вы хотите, чтобы код был доступен другим, чтобы им пользовались, чтобы на него ссылались. Ссылки на репозитории GitHub вызывают большее доверие и будут просматриваться чаще. Публичная активность и проекты составят портфолио, которое может повлиять на трудоустройство.