GitHub чи GitLab? Обговорюємо, що краще для проєктів

Telegram dou#techПідписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті.

Можна з упевненістю сказати, що більшість коду в світі знаходиться або на GitLab, або на GitHub. На думку багатьох розробників, GitLab — це місце для приватних сховищ, а GitHub — для загальнодоступних. Що ви думаєте про ці дві системи? Яку з них використовуєте? Чому саме її?

Розповідайте в коментарях.

Яку систему використовуєте?

46%
23%
23%
7%
349 голосів  ·  показати результати
👍ПодобаєтьсяСподобалось1
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Суб’єктивно Bitbucket самый юзер френдлі.
А GitLab більш просунутий і логічніший за GitHub.
Але GitHub був перший, і публічні проекти зазвичай на ньому.

Користуватися доводиться всіма трьома. Бо замовникі мають свої смакі.

Для себе GitHub не обирав би

Обновленный гитхаб это какой-то непонятный дие-костыль.

Где добавляются шаблоны для ишью? В комьюнити стандардс? Сфигали? И так много с чем непонятно. Почему алерты от депенденси бота там же где статистика по депенденси?

Магазин экшинов тоже требует вдумчивого осваивания. Вместо простого конфигурационного файла в одном единственном месте.

Я взагалі гіт не використовую, він з геймдевом не дружить)
На роботі Perforce, для пет-проджекту — PlasticSCM

співчуваю, бо після гіта то трохи біль

Нуу, треба трохи часу, щоб звикнути, але ці системи мають значні переваги над ґітом, зокрема:

  • підтримка великих файлів з коробки
  • ексклюзивний чек-аут бінарних файлів
  • зручний інтерфейс для дизайнерів та артістів
  • можливість робити рев’ю, збирати білд і проганяти автотести перед кожним комітом
підтримка великих файлів з коробки
ексклюзивний чек-аут бінарних файлів

У гіта проблем з цим немає. Є з бінарними діффами, якщо вони комусь потрібні. Ось тут, да, якийсь Hg, наскільки памʼятаю, дещо вміє краще.

можливість робити рев’ю, збирати білд і проганяти автотести перед кожним комітом

Враховуючи, що у гіта коміти тривіально інкрементально змінювати, цеї переваги реально не існує.

GitLab, потому что позволяет держать свой инстанс

Если этого еще и потребует договор о безопасности, то гитхаб отпадает сам собой.

Так в Гітхаба теж є свій сервер. Інсталюй на здоровля docs.github.com/...​nterprise-server-instance

GitHub — это уже стандарт де-факто

На жаль. В багатьох напрямках є подібні монополії, які для певної кількості людей є «стандартом де факто». Є дві проблеми (не тільки з GitHub, але й з Google та Meta, наприклад). Перша проблема це монополізація. Чому монополізація це погано пояснювати не буду, бо багато і без мене написано. Друга проблема — монополісти зазвичай працюють по моделі «безкоштовний функціонал де сам кінцевий користувач (його дані) є товаром». Тобто вам доступно більше безкоштовного функціоналу, ніж у конкурентів, але всі ваші дані, особисті повідомлення, і т.д. автоматично аналізуються і передаються третім сторонам.

Зважаючи на дві названі проблеми, я оминаю GitHub наскільки це можливо.

Монополия это конечно плохо, но боюсь, что с таким подходом выходить в интернет тоже опасно :)

Чому ж в крайності вдаватися. Є багато альтернатив, залежно від вимог до безпеки та конфіденційності кожного користувача або компанії.
У моєму випадку self-hosting трохи занадто (хоча могли б хостити, наприклад, Gitea), тому поки користуємось GitLab SaaS.

Дивлячись, для чого. Ми (Red Hat) перенесли розробку ядра з внутрішньої кухні на GitLab, за який же ж, мабуть, щось там (aka багато) платимо, за що GitLab нам допилює те, що нам треба. А свої власні проекти я тримаю подалі від такого ентерпрайзу, тому Codeberg.

Gerrit (www.gerritcodereview.com), переваги:
* рев’ю відбувається навколо комітів: можна апрувнути окремий коміт, можна ребейзнути окремий коміт і його апрув збережеться, його можна змерджити не залежно від інших, видно як змінюється коміт коли він переробляється
* деревовидна ієрархія репозиторіїв

+100%.
Ще у Gerrit є різниця між змінами самих комітів у діффах ревізій і змінами бази комітів (різні кольори).
У ньому зроблено все, щоб можна було нові ревізії перевіряти не втомлюючись від того, що все це вже бачив.
Порівняно з ним, інші системи здатні тільки на тяп-ляп розробку. (Якщо хтось знає інший движок з такими можливостями, відгукніться.)

Bitbucket. Давно на нього переліз, вони були першими, хто дозволив закриті репи на безплатних акаунтах

Предыдущая компания юзала битбакет, ну и наш проект тоже на нём пришлось (хотя мы сопротивлялись). Потому что битбакет дает лимит аж целых 2Гб на проект (и это платный корпоративный акк), пришлось подключать багованный и костыльный git-fat, с которым была куча нюансов. Уговорить менеджмент на гитлаб или гитхаб не получилось, т.к. большая компания, бюрократия и вообще такая вольность была не положена.

Если проект не предполагает вылезание за предела лимита 2Гб, то и битбакет норм, конечно.

на платном 4ГБ, да и на бесплатном они пишут что ограничение в 2 гб не работает

То ли за два года что-то поменялось, то ли какой-то особый тариф был у компании, но точно помню, что когда мы приближались к 2Гб, битбакет при пулл реквесте сыпал предупреждениями, что вот-вот и переведет в режим рид онли. Даже 4Гб — ни о чём (для сравнения у гитлаба 10Гб, у гитхаба вообще 100).

GitLab має українське коріння)

вже пішов наш українець з компанії, так що...

Gitlab був топчик поки в GitHub не додали actions і private registry, після цього вони стали однаковими.
Кілер фіча GitHub це готові шаблони для Actions, можна накидати якусь просту пайплайну за годинку-дві.
Gitlab наскільки я пам’ятаю можна захостити на он премісі, але це не те заради чого я би відмовився від GitHub

В гітхаба теж є ця фіча

єдина перевага гітлабу, це те що за ними не стоїть майкрософт

Мопед не мій, але Gitlab намагаються бути дечим більше, ніж просто сховищем коду та запускалкою CI.

Вони активно працюють над інтеграцією з хмарами (kubernetes та все, що навколо), мають більш гнучку систему менеджменту тікетів та багато інших уже дрібниць.

Імхо менеджмент тікетів у Gitlab десь на рівні з trello або notion (meat and potatoes ткскать без якоїсь там гнучкості), інтеграція з кубом (коли я працював з цим інструментом) була якась глючна (показувались кластери та ноди, нічого корисного). Може за рік щось змінилося, але я цього не бачив

Підписатись на коментарі