Git, GitHub e GitLab o que é cada um deles?
Editorial

O que é Git, GitHub e GitLab? Conheça mais sobre cada um deles.

Imagine a seguinte situação, você está trabalhando em um arquivo durante algumas horas e o envia para um servidor totalmente finalizado. Ao mesmo tempo, um amigo seu que também está trabalhando nesse mesmo arquivo o envia de uma forma completamente diferente do seu planejamento e sobrescreve seu trabalho.

É uma situação no mínimo chata não é mesmo? Mas sabia que isso pode acontecer com uma certa frequência com vários arquivos por dia em várias empresas e projetos em equipe?

Para evitar estes “pequenos” problemas, existe uma tecnologia de controle de versionamento que chamamos Git. Lançada em 2005, essa ferramenta está sobre os braços da licença GPL v2 sendo utilizada em vários projetos.

Ao pensar em Git, sempre pensamos em GitHub ou GitLab, porém são coisas bem diferentes. Prepare um cafezinho, um caderninho de anotações e vamos aprender o que são Git, GitHub e GitLab.

O projeto Git

O Git, é um sistema de controle de versionamento criado por ninguém menos que Linus Torvalds, para auxiliar o desenvolvimento de um grande projeto chamado Linux. Porém, devido à sua qualidade em gerenciar projetos com grandes equipes de trabalho em grupos distribuídos, ele acabou sendo adotado para outros projetos.

Embora o Git seja utilizado principalmente para desenvolvimento de software, ele pode ser utilizado para registrar versões de qualquer tipo de arquivo, seja um documento de texto, uma imagem ou algum livro digital, por exemplo.

Ele foi criado pouco tempo depois dos desenvolvedores do Linux decidirem parar de usar o BitKeeper, um software proprietário para controle de versionamento. Atualmente, ele está disponível para os principais sistemas operacionais utilizando a licença Apache 2.0.

Por que adotar o Git em meus projetos?

O Git pode ser uma ferramenta bastante interessante para utilizar em seus projetos pessoais e comerciais, já que através dele você vai obter uma maior organização e controle sobre o seu projeto.

Ele pode agilizar seu fluxo de trabalho em equipe, uma vez que as alterações criadas por cada membro podem ser separadas do projeto inicial, evitando que os arquivos sejam sobrescritos sem controle, e, caso você trabalhe sozinho ele poupará tempo entre backups de versões anteriores.

Veja abaixo um exemplo ilustrado de como funciona o Git. 

001 GIT mapa

Ao iniciar um projeto (master), outros usuários podem criar códigos a partir de um código inicial (branch), sem que o código inicial seja sobrescrito. Cada adição de código (merge) cria uma nova versão que pode ser utilizada para que novos usuários possam realizar “commits” até o lançamento de uma versão final.

Os termos utilizados no Git

O Git possui alguns termos que podem confundir usuários que não estão familiarizados com a ferramenta, confira alguns deles:

  • Repositório: Um repositório é um diretório onde são armazenados os arquivos do projeto.
  • Commit: Um commit é um grupo de alterações no código. Ele contém todas as alterações realizadas e uma mensagem descritiva sobre o que foi feito.
  • Branch: Um branch é uma separação do código, utilizado geralmente para separar alterações grandes ou novas funcionalidades no projeto.
  • Merge: Um merge é a união de duas branches, geralmente entre a branch inicial (master) e uma nova onde se encontram os commits e funções a serem adicionadas.
  • Clone: Um clone seria a criação de uma branch em um repositório local, ideal para trabalhar no código. Em outros termos, clone é um download do repositório.
  • Pull:  Pull é uma atualização do repositório local. É realizado um merge entre o repositório online e local para que o usuário trabalhe com o código atual do Git.
  • Push: Push é um envio (ou tentativa) do código que está em um repositório local para um repositório online.
  • Fork: O fork de um projeto é semelhante a um clone, porém, é realizado em seu repositório online ao invés de ser baixado.
  • Pull request: Um pull request é o pedido realizado ao dono do repositório para que ele seja atualizado com um código criado por você, permitindo que você contribua com o projeto.

GitHub, uma companhia da Microsoft

Git é o nome da ferramenta de gerenciamento de códigos, disso já sabemos, mas então, o que é o GitHub? GitHub é uma plataforma de serviços na Web que oferece funcionalidades extras para o Git, além de ser utilizado para hospedar projetos.

A partir dele, vários usuários podem contribuir com projetos disponíveis no repositório, seja escrevendo um código em cima do existente, pedindo a adição de funções e até mesmo ajudando os desenvolvedores a traduzirem o código.

Hoje em dia, o GitHub é bem mais que um local para realizar a hospedagem de projetos, se tornando quase uma “rede social” para desenvolvedores e um portfólio para que as empresas possam ter uma idéia de seu trabalho.

Projetos hospedados no GitHub

Embora associamos o GitHub a código, lembre-se que o Git serve para realizar o controle de versão de qualquer arquivo, como por exemplo o projeto Photogimp.

O simples fato do projeto estar hospedado no GitHub com as descrições em inglês, fez com que o projeto ficasse mundialmente famoso, sendo citado em vários canais e blogs gringos como por exemplo o canal Davies Media Design, um canal de design com software de código aberto.

002 GitHub

Uma companhia Microsoft?

Sim, você não leu errado o GitHub foi comprado pela Microsoft há 2 anos pela singela quantia de US$ 7,5 bi ( Sete bilhões e quinhentos milhões de dólares americanos). Essa notícia em específico abalou diversos desenvolvedores “radicais” que ainda tem a visão da Microsoft como uma empresa inimiga do software livre.

Caso você queira saber um pouco mais sobre essa compra, temos um artigo escrito pelo próprio Dio falando sobre esse tema que vale muito a pena conferir.

GitLab, uma alternativa ao GitHub

O GitLab assim como o GitHub, é uma plataforma para hospedagem de códigos, permitindo que os desenvolvedores trabalhem em projetos públicos e privados, seja ele open-source ou não.

Ele foi lançado em 2014, porém, ficou bastante famoso no ano de 2018, logo após a compra do GitHub, já que muitos desenvolvedores de softwares livres não queriam deixar seus códigos em uma plataforma da Microsoft e optaram pelo GitLab.

O Projeto KDE atualmente utiliza o GitLab para seus mais de 2600 projetos de código aberto disponíveis para seus usuários.

O que o GitLab tem de tão diferente do GitHub?

Além dos recursos inclusos pelo próprio Git, o GitLab possui suporte para criação de Wikis do projeto, uma plataforma para gerenciamento de tarefas além de integração e entrega contínuas (CI/CD).

Outro grande diferencial do GitLab em relação ao GitHub, é a possibilidade de instalá-lo em um servidor pessoal, ao invés de utilizá-lo em um servidor de terceiros. Ele está sobre a licença MIT e pode ser instalado através de seu site oficial.

Considerações finais

O Git pode ser aquela ferramenta que estava faltando para agilizar um pouco mais o processo de criação de seus códigos. Além desse artigo, também recomendo que você assista a esse vídeo do canal Diolinux sobre o assunto com a participação mais do que especial do Gabriel Froes do canal Código Fonte TV ensinando o básico de Git.

Você já conhecia o Git? Utiliza essa plataforma? Deixe nos comentários e até a próxima notícia, dica ou tutorial!

Diolinux Ofertas - Aproveite os melhores descontos em diversos produtos!
415 postagens

Sobre o autor
Olá pessoas, me chamo Carlos Augusto e desde meus 6 anos sou apaixonado por tecnologia, principalmente por computação. Além de tentar ser um projeto de redator, no tempo livre gosto de fazer algumas manutenções e gambiarras!
Artigos
    Postagens relacionadas
    EditorialVídeo

    Vale a pena mudar de uma distro LTS para Rolling Release?

    VídeoEditorial

    Por que a Geração Z tem dificuldades com computadores?

    VídeoEditorial

    Usar Linux é difícil?