Todo mundo que programa esbarra no Git mais cedo ou mais tarde. E quase sempre a mesma cena: voce decora tres comandos, usa no automatico e, quando algo foge do roteiro, trava. Esta e a cola que eu queria ter tido no comeco, organizada do jeito que a gente realmente trabalha: por etapa do fluxo, nao por ordem alfabetica. Salve esta pagina e volte sempre que a memoria falhar.
Comecar um projeto
Todo repositorio comeca de um destes dois jeitos: criando do zero na sua maquina ou baixando algo que ja existe.
git init— transforma a pasta atual em um repositorio Git novinho.git clone URL— baixa um repositorio remoto inteiro (com todo o historico) para o seu computador.
Dica de ouro antes do primeiro commit: crie um .gitignore para nao versionar node_modules, .env e afins. Se tiver preguica de montar na mao, use nosso gerador de .gitignore.
Ver e salvar mudancas
Esse e o ciclo que voce vai repetir dezenas de vezes por dia. A logica e simples: olhar o que mudou, escolher o que entra e registrar.
git status— mostra o que foi alterado, o que esta pronto para commit e o que ainda nao foi rastreado.git add arquivo.js— marca um arquivo especifico para entrar no proximo commit.git add .— marca todas as mudancas da pasta atual de uma vez.git diff— exibe linha a linha o que voce mudou antes de dar o add.git commit -m "mensagem"— salva as mudancas marcadas com uma descricao curta do que foi feito.git log --oneline— lista o historico de commits de forma enxuta, um por linha.
Regra de bolso: faca git status antes de qualquer commit. Ele responde quase todas as duvidas de "sera que isso vai entrar?".
Trabalhar com branches
Branch e como voce desenvolve uma feature ou corrige um bug sem baguncar o codigo principal. Cada ideia nova merece a sua propria ramificacao.
git branch— lista todas as branches locais e destaca em qual voce esta.git switch -c nova-feature— cria uma branch nova e ja pula para ela.git switch main— volta para uma branch existente (jeito moderno do antigo checkout).git merge nova-feature— traz as mudancas de outra branch para a branch atual.git branch -d nova-feature— apaga uma branch que ja foi mesclada e nao serve mais.
Fluxo tipico: criar branch, trabalhar nela, voltar para a main e dar merge. Simples assim.
Sincronizar com o remoto
Enquanto voce trabalha sozinho na sua maquina, nada sai dali. Para colaborar (ou so ter backup no GitHub, GitLab etc.), voce precisa conversar com o repositorio remoto.
git pull— baixa e ja integra as novidades que outras pessoas enviaram ao remoto.git push— envia os seus commits locais para o repositorio remoto.git push -u origin minha-branch— envia uma branch nova pela primeira vez e deixa o rastreamento configurado.git fetch— baixa as novidades do remoto sem mexer no seu codigo atual (so para dar uma olhada).
Habito saudavel: de um git pull antes de comecar a trabalhar e antes de dar push. Isso evita a maioria dos conflitos chatos.
Quando algo da errado
Aqui mora o medo de todo iniciante, mas relaxa: o Git foi feito justamente para voce poder voltar atras. O segredo e escolher a ferramenta certa para cada situacao.
git restore arquivo.js— descarta as mudancas de um arquivo que ainda nao entrou em commit, voltando ao ultimo salvo.git restore --staged arquivo.js— tira um arquivo da area de commit sem perder o que voce digitou.git reset --soft HEAD~1— desfaz o ultimo commit mas mantem as mudancas prontas para voce ajustar.git reset --hard HEAD~1— apaga o ultimo commit e todas as mudancas junto (cuidado, nao tem volta facil).git revert HEAD— cria um novo commit que desfaz o anterior, ideal quando o codigo ja foi para o remoto.
Regra de sobrevivencia: use revert para desfazer algo que ja foi para o remoto e reset so em commits que ainda estao na sua maquina. E pense duas vezes antes de qualquer --hard.
Guarde esta cola
Esses comandos cobrem facil 90% do seu dia a dia com Git. O resto voce aprende quando precisar — e, quando precisar, nao vai faltar referencia. Montamos uma lista de comandos Git completa, com explicacao e exemplos de cada um, para quando bater aquela duvida especifica no meio do trabalho. Deixe salva junto com esta pagina e nunca mais trave no terminal.