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

Git, GitHub e GitLab o que é 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 de Git. Lançada em 2005, essa ferramenta está sobre os braços da licença GPL v2 e é 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!


Newsletter Diolinux
Talvez Você Também Goste
Como um mau logotipo pode afetar a sua loja virtual
Continue lendo

Como um mau logotipo pode afetar a sua loja virtual

Um dos assuntos que eu mais gosto e mais tenho estudado nos últimos anos é Marketing Digital. É um mundo fantástico, estudar esses assuntos ajuda a qualquer empreendedor ou curioso na área a elaborar QUALQUER projeto melhor, não somente empreendimentos digitais. Hoje vamos falar sobre um assunto extremamente delicado, o seu logo!
O vídeo mais importante do ano!
Continue lendo

O vídeo mais importante do ano!

Olá pessoal! É hora de falar sobre um assunto muito sério, o futuro do Diolinux. Eu produzi um vídeo recentemente para o canal do blog para falar sobre a resoluções para o ano de 2016. Primeiro eu quero que você veja o vídeo, ele é extenso, então só dê "play" se tiver um tempinho para isso, logo abaixo eu farei mais alguns comentários sobre o assunto.
A evolução do Steam Play
Continue lendo

A evolução do Steam Play

Assim como qualquer outro serviço, a Steam com certeza tem seus defeitos. Todavia, não é de agora que a Valve, proprietária da Steam, vem desenvolvendo serviços com o objetivo de melhorar a experiência dos seus usuários. E algumas vezes, até nos permitindo economizar dinheiro.
Contribua com o projeto +Diolinux
Continue lendo

Contribua com o projeto +Diolinux

Esta carta é um convite oficial para conhecer e colaborar em um projeto chamado Diolinux. O Diolinux é um blog ativo na internet desde o ano de 2011 (www.diolinux.com.br) fundado por mim, Dionatan Simioni, o foco principal do site é o sistema operacional Linux ( especialmente o Ubuntu ) mas com abordagens sobre tecnologia de maneira geral, passando por Android, Windows e inúmeros aplicativos.