Github vs Gitlab vs Bitbucket
Comparando serviços de gerenciamento de repositório.
O Git é, acima de tudo, um sistema de controle de versão (VCS) de código aberto. Existem dois tipos de VCS, um é o sistema de controle de versão distribuído (DVCS) e outro é o sistema de controle de versão centralizado (CVCS). O Git é um exemplo de um sistema de controle de versão distribuído (DVCS), que acompanha cada modificação feita ao longo do tempo e te permite recuar se necessário e desfazer essas alterações. O Git permitirá que você volte a um status anterior em um projeto ou veja toda a sua evolução desde o projeto criado.
Usando o git nos nossos projetos, conseguimos solucionar 3 problemas básicos:
- Tornou mais fácil gerenciar grandes projetos.
- O trabalho simultâneo é menos propenso a problemas como a sobescrita de trabalhos, ou a exclusão, por acidente, de funcionalidades
- Com o git, você apenas extrai todo o código e o histórico para o sistema. É muito mais simples e muito mais leve.
Os arquivos em um repositório passam por três estágios antes de estar sob controle de versão com o git:
- Diretório de Trabalho (Untracked): Todas as modificações são feitas neste estágio para os arquivos, mas não fazem parte do controle de versão do git. Então, para tornar os arquivos parte do controle de versão do git, usamos o comando abaixo
git add <nome_do_arquivo>
ougit add .
(ponto significa tudo). - Staging (Staged): Todos os arquivos foram adicionados ao controle de versão do git e são rastreados pelo git, mas as alterações não foram confirmadas, portanto, para confirmar as mudanças usamos o seguinte comando
git commit -m "mensagem de commit"
. - Commitado: Todas as alterações foram confirmadas.
Existem alguns serviços de gerenciamento de repositórios que usam o Git, hoje vamos comparar três deles: o Github, o Gitlab e o Bitbucket.
Github
O GitHub pode ser o primeiro nome que lhe vem a cabeça quando se fala em hospedagem de repositório de código aberto, mas quando se trata de serviços de hospedagem de recompra privada, o jogo não é tão simples assim. Todos os três fornecedores baseiam suas plataformas no sistema de controle de versão distribuída do Git. Cada um oferece uma solução no local para hospedar relatórios dentro do seu firewall.
GitHub tem uma interface ótima, intuitiva, informativa e familiar. Se estiver instalado em seus próprios servidores, a maioria dos desenvolvedores se sentirá em casa. Possui integração LDAP, integração com o JIRA e muitos outros recursos importantes para as empresas de hoje. Você dificilmente vai precisar de algo que o GitHub não faz. Além dos “recursos corporativos”, ele possui Gists (uma maneira de compartilhar trechos de código), capacidade de editar arquivos diretamente do navegador (funciona quando se faz anotações durante uma reunião), trabalha com praticamente qualquer provedor de nuvem, tem pesquisa poderosa, e assim por diante. Ele vem com seu próprio Wiki e rastreamento de problemas. Em muitos casos, é suficiente para muitas necessidades. Se não for, ele pode ser usado em conjunto com outras ferramentas, por exemplo com Jenkins, JIRA, Confluence, BugZilla, Trello e muitos outros produtos. Simplificando, o GitHub é o padrão ouro para repositórios de código.
Gitlab
O GitLab faz quase tudo que o GitHub faz. Os recursos são mais ou menos os mesmos (com pouquíssimas exceções) e a interface é tão boa quanto a do GitHub. É preciso procurar muito para encontrar algo significativo que o GitHub tenha e o GitLab não.
O GitLab Community Edition é gratuito e de código aberto. Isso por si só é um grande aprimoramento quando comparado ao GitHub Enterprise Edition (a única versão que pode ser instalada localmente). Embora existam alguns recursos disponíveis apenas na edição corporativa, talvez você não precise deles e, mesmo que isso aconteça, torna a decisão mais fácil, sabendo que você pode começar com a versão gratuita e atualizar para a versão paga posteriormente. Com a edição da comunidade do GitLab, você pode se sentir confortável até o final dos tempos ou pode começar imediatamente com a edição corporativa.
O preço da edição corporativa é razoável (menor do que o do GitHub). Ao contrário do GitHub, o GitLab pode ser instalado em praticamente qualquer combinação de hardware e sistema operacional. Além disso, a instalação é simples. Ele mostra o poder do código aberto, que com infinitas combinações, surgiram comunidades para escrever sobre.
Bitbucket
O Bitbucket é para projetos de código-fonte e desenvolvimento que usam os sistemas de controle de revisão Mercurial (desde o lançamento) ou Git (desde outubro de 2011). Ele é de propriedade da Atlassian e oferece planos comerciais e contas gratuitas. Sendo que as contas tem um número ilimitado de repositórios privados (que podem ter até cinco usuários no caso de contas gratuitas). O Bitbucket integra-se a outros softwares da Atlassian como o JIRA Software, Confluence e Bamboo.
Ele é parecido com o GitHub, que usa principalmente o Git. Em setembro de 2016, a Bitbucket anunciou que havia alcançado 5 milhões de desenvolvedores e 900.000 equipes em sua plataforma. O Bitbucket possui 3 modelos de implantação: Cloud, Bitbucket Server e Data Center.
Comparação dos principais serviços nas versões gratuitas
Github vs Gitlab vs Bitbucket
Inscreva-se no Blog TrincaTech
Receba os posts mais recentes no seu e-mail