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).
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)
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
Muito bem feito e bem escrito. Parabéns pelo ótimo trabalho e disposição em ajudar quem está entrando nesse mercado!
muito obrigado pelo feedback Vitor! fico feliz que tenha gostado!