Entender o que é o Git, por que ele existe e como usar seus principais comandos no dia a dia de desenvolvimento. Aqui não tem GitHub, GitLab ou afins — foco total no Git local.
Git é um sistema de controle de versão distribuído. Em português claro: ele guarda o histórico do seu código, permite voltar no tempo, comparar mudanças e trabalhar sem medo de quebrar tudo.
Sem Git:
final_v2_agora_vai.jsCom Git:
É a pasta do projeto monitorada pelo Git.
Onde você edita os arquivos. O caos acontece aqui.
Área intermediária onde você diz ao Git:
“Essas mudanças aqui eu quero salvar. O resto ignora por enquanto.”
Uma foto do estado do projeto em um determinado momento.
git init
.gitPara conferir o estado:
git status
git addgit commitRepete até o fim da vida
Mostra:
git status
Use sem dó. É seu painel de controle.
Adiciona arquivos à staging area.
Adicionar um arquivo específico:
git add index.js
Adicionar tudo:
git add .
⚠️ git add . não é pecado, mas saiba o que está indo junto.
Cria um commit com as mudanças adicionadas.
git commit -m "mensagem do commit"
Boas mensagens:
Exemplo bom:
git commit -m "adiciona validação no formulário"
Exemplo ruim:
git commit -m "funciona agora"
Mostra o histórico de commits.
git log
Versão mais legível:
git log --oneline
Cada commit tem um hash (identificador único).
Mostra diferenças entre versões.
Ver mudanças ainda não adicionadas:
git diff
Ver mudanças já adicionadas:
git diff --staged
Ideal para revisar antes de commitar.
Descartar alterações em um arquivo:
git restore index.js
Remover da staging area:
git restore --staged index.js
⚠️ Aqui não tem Ctrl+Z milagroso. Use com consciência.
Voltar um arquivo para o estado de um commit:
git checkout <hash> -- index.js
Ou voltar tudo:
git checkout <hash>
Isso é poderoso. E perigoso.
Branch é uma linha independente de commits.
Branch padrão:
main ou masterCriar branch:
git branch nova-feature
Trocar de branch:
git checkout nova-feature
Criar e trocar de uma vez:
git checkout -b nova-feature
Une uma branch à outra.
git merge nova-feature
Se tudo der certo: alegria.
Se der conflito: resolve no código, depois commit.
Acontecem quando:
O Git marca assim:
<<<<<<< HEAD
código atual
=======
código da outra branch
>>>>>>> nova-feature
Você decide, limpa e commita.
Salvar mudanças sem commitar:
git stash
Voltar depois:
git stash pop
Útil quando você começou algo no lugar errado.
Define o que o Git não deve rastrear.
Exemplo:
node_modules/
.env
dist/
Se não ignorar, uma hora você vai se arrepender.
git init → começa tudogit status → onde estou?git add → preparagit commit → salvagit log → históricogit diff → diferençasgit branch / checkout → linhas paralelasgit merge → juntar tudoGit não é difícil. Só é literal.