7 лучших самоуправляемых альтернатив Github

После того как Microsoft приобретила Github, многие разработчики стали искать альтернативы для размещения своего кода. Microsoft (и многие другие крупные компании) имеет привычку приобретать проверенные технологии, веб-сайты и продукты для расширения своего влияния. Скайп — один из примеров, и теперь это касается также Github.
К счастью, существует множество других систем управления версиями на выбор. Не все они обладают всеми функциями Github, но в зависимости от ваших потребностей, выбор довольно неплох. Эта статья рассмотрит некоторые из лучших самоуправляемых альтернатив Github, которые вы можете установить на своём компьютере уже сегодня.
Содержание
- GitLab
- Gogs
- Trac
- GitBucket
- Gitea
- Mercurial
- Fossil
1. GitLab
Даже до приобретения Github Microsoft, GitLab уже был популярной альтернативной платформой для управления кодом. Это инструмент для управления жизненным циклом DevOps с функционалом для планирования, тестирования, упаковки и выпуска. Он также включает в себя вики и функции отслеживания проблем, что делает его крайне привлекательным для пользователей, желающих иметь самоуправляемый опыт «похожий на Github».

Хотя вы можете использовать GitLab как самоуправляемую платформу для управления кодом, его разработчики также предлагают платную премиум версию SaaS. Она включает в себя дополнительные функции, такие как возможность синхронизации с сервером LDAP и расширенные CI/CD процессы.
Тем не менее, вы можете развернуть GitLab на своём компьютере, так и на их хостинговой платформе бесплатно. Премиум версия, с другой стороны, в данный момент начинается с 29 долларов за пользователя в месяц.
Совет: узнайте, чем GitLab отличается от Github, и определите, что лучше для вас.
2. Gogs
Gogs — это легковесная платформа хостинга Git, которую вы можете развернуть на почти любом оборудовании. Написанная на Go, разработчики программы создали её максимально быстрой, полагаясь при этом на минимальные или отсутствующие внешние зависимости. Например, Gogs можно запустить на системе с всего лишь 512 МБ ОЗУ.

Одним из главных преимуществ Gogs является то, что его очень легко запустить даже на виртуальных серверах. По умолчанию Gogs также включает в себя все инструменты, необходимые для управления вашим кодом, отслеживания проблем и документирования ваших изменений. Таким образом, Gogs — отличное решение, если вы ищете «безвоздушную» альтернативу Github с лучшим соотношением «мощности к весу».
Хорошо знать: узнайте основы управления репозиторием Git.
3. Trac
Trac — это простая и крайне гибкая платформа управления кодом для Linux. В отличие от GitLab и Gogs, Trac может работать как с Subversion, так и с Git в качестве системы контроля версий на заднем плане. Это делает его полезным, если у вас уже есть проект, работающий на одной из этих систем.

Помимо того, что Trac является гибким инструментом, он также улучшенная вики и система отслеживания проблем для вашего проекта. Она может управлять различными заявками, назначать разные роли, а также создавать уровни приоритета для каждой проблемы в вашем репозитории.
Более того, Trac также предоставляет ряд плагинов, которые могут изменить поведение вашего экземпляра по умолчанию. Например, есть плагин, который позволяет интегрировать Trac в существующий проект на Github. В результате, Trac является хорошим выбором, если вам нужно регулярно и внимательно отслеживать прогресс проектов.
Совет: Если вам просто нужно простое решение pastebin с использованием Git, ознакомьтесь с Opengist.
4. GitBucket
GitBucket — клон GitHub на основе JVM, написанный на Scala. У него нет столько функций, сколько у других приложений в списке. Фактически, его главное преимущество — это его схожесть с GitHub. Другими словами, если вы начнете скучать по GitHub, вы всегда можете обратиться к GitBucket.

Тем не менее, GitBucket предоставляет неплохой просмотрщик репозиториев, трекер проблем, возможность пересматривать и принимать pull-запросы, а также простую вики. Кроме того, вы также можете расширить функциональность GitBucket с помощью плагинов. Это небольшие фрагменты кода, которые могут либо ввести новые функции, либо изменить существующие для вашего репозитория. Например, вы можете установить плагин GitHub Gist для своего GitBucket, а также пользовательские сайты, подобные GitHub Pages.
Совет: ознакомьтесь с некоторыми из лучших хуков Git для оптимизации вашего репозитория.
5. Gitea
Gitea — это легковесная платформа управления кодом с акцентом на безопасность для Linux. Основанная на Gogs, она стремится предоставить комплексную альтернативу GitHub с минимальным или отсутствующим потреблением системных ресурсов.

Некоторые из главных функций Gitea по сравнению с Gogs включают встроенные RSS ленты, поддержку CI/CD потоков, а также различные роли пользователей для вашего репозитория. Более того, у неё также есть собственная рамка расширений, которая позволяет добавлять такие функции, как пользовательские сайты, подобные страницам GitHub. Gitea — отличная альтернатива, если вы ищете легковесный самоуправляемый GitHub, который также является высоко расширяемым.
К сведению: вы пользователь Emacs? Узнайте, как вы можете интегрировать Git в Emacs с помощью Magit.
6. Mercurial
В отличие от предыдущих записей в этом списке, Mercurial — это совершенно другая платформа управления кодом по сравнению с GitHub. Она предоставляет более чистый и конкретный способ управления кодом, который легче освоить новым разработчикам программного обеспечения. В отличие от Subversion, Mercurial стремится избавиться от излишков, предлагая команды, которые уже похожи на ваш Linux.

Одним из привлекательных аспектов Mercurial является то, что он кроссплатформенный и очень модульный. В результате платформа поставляется с большим количеством расширений, которые вы можете использовать для настройки рабочего процесса Mercurial. Например, расширение hgnested позволяет создавать более мелкие подрепозитории внутри вашего главного.
7. Fossil
Fossil — это система управления исходным кодом, не основанная на Git, для Linux, которая акцентирует внимание на простоте и надежности. В отличие от Git и Mercurial, Fossil предоставляет полноценную, все-в-одном платформу для разработки и обмена кодом с другими людьми. Прямо из коробки каждая установка Fossil включает в себя форум, трекер проблем, а также простой IRC-чат.

Одним из уникальных преимуществ Fossil является то, что его легко развернуть и он гибок в соответствии с требованиями вашего компьютера. Возможно создать репозиторий Fossil из одного бинарного файла без каких-либо прав sudo, а также запустить его как контейнер с использованием Docker и Docker Compose. Это делает его привлекательным для пользователей, у которых уже есть сервер и которым нужна адаптируемая платформа для управления кодом, которую легко развернуть в почти любой среде.
Изучение некоторых из лучших альтернатив GitHub, которые вы можете установить на своём компьютере, — это лишь первый шаг к восстановлению вашей цифровой конфиденциальности в сети. Исследуйте этот замечательный мир самоуправления, создавая свою собственную альтернативу bit.ly с помощью Shlink.