Git —Conceitos Essenciais

Marcelo Santos
4 min readNov 12, 2020

--

Olá Pessoal, Tudo bem?

Antes de mais nada, esse conteúdo é um overview do mundo Git para iniciantes. Acredito que esse assunto é muito importante para qualquer profissional da tecnologia atualmente.

Quando nós começamos a entender esse pequeno mostrinho, ficamos confortáveis com alguns dos comandos mais utilizados como: git init, git add, git commit, git clone, git push e git pull. Não é do intuito desse artigo abordar esses comandos, mas caso você não tenha intimidade com alguns deles, sugiro o seguinte link.

O problema é que se você apenas conhecer essa sequência de uso básica do Git, você irá ficar preso e não irá usufruir de todo o potencial desta ferramenta de versionamento. Entretanto, descentralizado e como um sistema de arquivos do que apenas um versionamento de mudanças, o Git tem muito potencial a ser explorado.

Por isso, iremos adentrar alguns conceitos importantes que todo iniciante deve saber.

O que é um repositório Git?

Imagens Ilustrativas

Git é um programa que rastreia as mudanças em arquivos, e pode ser inicializado em um projeto para criar um repositório Git. O repositório Git é uma pasta oculta chamada .git dentro de um projeto. Este repositório rastreia todas as mudanças realizadas nos arquivos do seu projeto para construir um histórico ao longo do tempo, isso significa que se você excluir esta pasta .git, você excluirá todo o seu histórico de projetos.

O que é um Git commit?

Um commit é um instantâneo do seu repositório git em um ponto no tempo. Para entender um commit, precisamos falar sobre seu Working Directory e um Staging Directory. Quando você modifica, adiciona, exclui ou renomeia um arquivo em seu repositório essa alteração não é imediatamente armazenada no repositório. Em vez disso, existe localmente em um diretório de trabalho em sua máquina. Assim que as mudanças forem preparadas, salve essas mudanças no repositório executando um commit. Cada commit torna-se um instantâneo do seu repositório daquele ponto no tempo e cumulativamente forma seu histórico de repo. Em resumo, um fluxo de trabalho típico Git envolve fazer mudanças, preparar mudanças, e, em seguida, confirmar as alterações.

O que é um Git remote?

Imagens Ilustrativas

Um repositório remoto, geralmente chamado de remote, é um repositório Git hospedado na Internet. A clonagem de um remote de controle, cria uma versão local desse repositóro em sua máquina, dando-lhe uma sandbox para experimentar sem afetar a base de código original. A clonagem também estabelece uma conexão entre o repositório local em sua máquina e o repositório remoto, permitindo ações push e pull com o projeto remoto. Vários clones de um único remote de controle podem ser criados por outros membros da equipe, permitindo que outras pessoas possam colaborar nos mesmo projetos de forma eficiente e com menos risco para o código original.

Como usar o Git Stash?

O stash é um comando que informa ao Git para guardar todas as suas alterações em um local temporário, deixando seu repositório limpo. Por exemplo, se você só precisar verificar uma branch diferente e não estiver pronto para commitar as alterações que você tem atualmente ou se você descobrir que verificou um branch errada e que suas alterações precisam estar em um ramo diferente. É aqui que o Git Stash se torna útil, criar um stash salva mudança não confirmadas para que você possa trabalhar em outras coisas em seu repositório sem perdê-las e depois voltar suas alterações com um simples git stash apply.

Esse comando tem outras opções como drop e list, vale a pena investigar na documentação.

O que é Git diff?

Um Git diff pega 2 conjuntos de dados e diz o que mudou entre eles. Os conjuntos de dados podem ser arquivos, commits, branches, etc. Um exemplo é quando pegamos dois commits diferentes eo Git compara as mudanças entre eles, o diff mostra quais arquivos foram adicionados, modificados ou excluidos. Á medida que examinamos a diferença de cada arquivo, as linhas ou textos adicionados são comumente destacados em verde, denotado com um sinal “+”, enquanto linhas excluídas são destacadas em vermelho, denotadas com um sinal “-”. As diferenças fornecem informações úteis sobre seu repositório, que podem ajudá-lo a revisar as alterações enquanto você decida se deseja realocar(rebase) ou mesclar(merge) ou apenas copiar e colar o código de um arquivo.

É isso ai pessoal, espero que tenham gostado e que essas informações sejam úteis para vocês! Fique livre para perguntar algo no comentário, ou indicar algum erro que eu tenha feito.

Vou deixar também meu Linkedin para quem quiser entrar em contato!

Abraços!

--

--