DEV Community

guto
guto

Posted on

Primeiros passos com o Git

Table of Contents

O que é Git?

Git é uma ferramenta/protocolo para controle de versões de um projeto (repositório). A principal finalidade do Git é controlar o fluxo de modificações que um projeto pode receber.

Além disso, o Git auxilia no decorrer do processo de desenvolvimento por conseguir facilitar o registro de modificações que um repositório pode sofrer.

De onde surgiu o Git?

Desenvolvido por nada mais nada menos que Linus Torvalds (juntamente de diversos desenvolvedores espalhados no mundo todo - poder do software livre e de código aberto neh), o Git surgiu com o principal propósito de organizar repositórios, buscando ser uma solução livre e de fácil uso.

O principal motivo que realmente fez com que o Git surgisse foi a manutenção do repositório do Kernel Linux. Depois de tentar utilizar diversas ferramentas para o versionamento, mas, nenhuma suprindo consideravelmente bem… Com isso, Linus propôs em 2004 o desenvolvimento de uma nova ferramenta, assim, surgiu-se o Git.

Conceitos por trás do Git

Repositório

Local onde temos o nosso projeto. Nele teremos todo o controle de versões e modificações realizadas. No repositório podemos navegar entre os arquivos normalmente e verificar históricos essenciais.

Um repositório pode ser nomeado com um padrão bem interessante em sistemas que utilizam o git (como GitHub e GitLab), sendo usuário/repositório.

Os repositórios podem sofrer diversas modificações, por isso, vamos entender melhor como essas modificações são realizadas.

Commit

Um commit pode ser classificado como uma publicação de modificação no repositório. Se eu altero algo de um repositório, temos o registro salvo com nome de commit, sendo apresentado quais modificações foram realizadas (desde criação de arquivos até modificações únicas de caracteres).

Com o git podemos registrar todos os commits feitos, apresentando também informações como data, mensagem, usuário que enviou o commit entre outros dados realcionados ao commit!

Branch

Podemos definir a branch como uma ramificação do nosso repositório. Nela, temos a base de outra branch (geralmente a main - antiga master) para realizar modificações.

Em projetos reais, é comum que cada modificação de projeto (algo que altere o fluxo de funcionamento) tenha uma branch específica. Cada modificação posteriormente pode resultar em uma mescla dessa branch com a principal (realizando o merge das modificações).

Demonstração de branch

Pull Request

Nada mais é do que uma requisição para se realizar o merge (fundir) de uma branch em outra. Geralmente as pull requests são abertas para realizar o merge de uma branch modificada para a branch principal, resultando em um processo de aprovação.

Com a pull request aberta temos acesso às modificações que serão "mergeadas" ao se aprovar o pedido. Tome muito cuidado! As pull requests devem ser utilizadas com cautela e sempre que possível, impossibilitando modificações problemáticas.

Issue (bônus)

Geralmente sendo uma característica única de sistemas que utilizam o versionamento com git, uma issue pode ser definida como algum problema/sugestão para modificação no repositório. As issues são abertas e recebem comentários, podendo ser fechadas pelo(s) proprietário(s) do repositório.

São extremamente úteis para realizar uma verificação geral de uso, podendo ainda ser uma fonte de feedback para o repositório.

Comandos

Existem diversos comandos para se utilizar com o git, por isso, recomendo acessar a documentação de apresentação dos comandos caso queira se aprofundar melhor!

Vamos ver alguns comandos específicos do git:

  • git config: utilizado para configurar seu usuário
  • git init: inicia um repositório no diretório local
  • git clone: clona um repositório existente no caminho atual
  • git pull: sincroniza as modificações existentes que não estão atualizadas para o seu repositório
  • git add: adiciona arquivos para serem sincronizados e enviados
  • git commit: adiciona um commit com os arquivos que foram previamente modificados
  • git push: envia as modificações do seu repositório local para o repositório principal
  • git checkout: atualizar a branch que você está utilizando no momento
  • git merge: utilizado para fundir uma branch com outra, geralmente em paralelo com uma pull request
  • git log: mostra os logs de commits realizados
  • git revert: reverter commits realizados para uma versão anterior às modificações

Extra

Git x GitHub

Git NÃO é a mesma coisa que GitHub. Enquanto o Git é tratado como uma ferramenta, o GitHub é utilizado como um site/plataforma que realiza o uso do Git para sistema de versionamento.

O Git pode ser implementado em um servidor como desejar, independente da plataforma a ser utilizada no final. Existem diversas plataformas que utilizam o Git, entre elas o GitLab, por exemplo.

Aprenda mais sobre Git

Acesse o repositório oficial do git4noobs para aprender mais sobre Git!

Top comments (3)

Collapse
 
cherryramatis profile image
Cherry Ramatis

excelente introdução a git, todos deveriam saber essa ferramenta incrivel

seria legal ter uma serie de posts viu, trazer sua didatica em alguns pontos mais especificos do git

Collapse
 
svitorz profile image
Vitor Fábio

Muito bem feito e bem escrito. Parabéns pelo ótimo trabalho e disposição em ajudar quem está entrando nesse mercado!

Collapse
 
guto profile image
guto • Edited

muito obrigado pelo feedback Vitor! fico feliz que tenha gostado!