Git — Fluxo Diário

Um guia prático com os comandos essenciais para o dia a dia com Git: desde clonar um projeto até abrir um Pull Request com boas mensagens de commit

1. Começando o dia

Antes de começar a trabalhar, garanta que seu repositório local está sincronizado com o que há no remoto. Se for a primeira vez no projeto, clone-o; caso contrário, atualize a branch principal.

Bash
# clonar o projeto (primeira vez)
git clone https://github.com/usuario/projeto.git

# atualizar a branch principal com o que tem no remoto
git pull origin main

2. Criando sua branch de trabalho

Nunca trabalhe diretamente na main. Crie uma branch dedicada para cada tarefa ou funcionalidade. Isso mantém o histórico limpo e facilita revisões de código.

Bash
# criar e já entrar na branch
git switch -c feature/minha-tarefa

# ver em qual branch você está
git branch

3. Durante o desenvolvimento

Use git status e git diff com frequência para acompanhar o que está sendo alterado antes de registrar qualquer commit.

Bash
# ver o que foi modificado
git status

# ver as mudanças linha a linha antes de adicionar
git diff

# adicionar tudo
git add .

# adicionar um arquivo específico
git add src/componente.js

# salvar com mensagem
git commit -m "feat: adiciona botão de login"

4. Mantendo sua branch atualizada com a main

Quando outras pessoas também contribuem para o projeto, a main avança enquanto você trabalha na sua branch. Use o rebase para trazer essas atualizações e evitar conflitos na hora do merge.

Bash
# trazer as atualizações da main para dentro da sua branch
git switch main
git pull origin main
git switch feature/minha-tarefa
git rebase main

5. Enviando o trabalho

Após concluir o desenvolvimento e commitar tudo, suba sua branch para o remoto para abrir um Pull Request.

Bash
# subir sua branch para o remoto (primeira vez)
git push -u origin feature/minha-tarefa

# subir nas próximas vezes
git push

6. Inspecionando o histórico

Às vezes precisamos entender o que aconteceu antes: quem alterou determinada linha, o que um commit específico mudou, ou apenas visualizar o histórico recente de forma compacta.

Bash
# ver commits recentes de forma resumida
git log --oneline

# ver quem alterou cada linha de um arquivo
git blame src/componente.js

# ver detalhes de um commit específico
git show a3f5c1b

7. Corrigindo antes do commit

Adicionou o arquivo errado ou escreveu a mensagem com typo? Sem problema — há formas simples de corrigir antes de registrar o commit definitivamente.

Bash
# desfazer o git add de um arquivo
git restore --staged arquivo.js

# descartar as mudanças locais de um arquivo
git restore arquivo.js

# corrigir a mensagem do último commit
git commit --amend -m "feat: mensagem corrigida"

8. Corrigindo após o commit

Commitou cedo demais? Use reset para desfazer o commit mantendo as alterações nos arquivos, ou stash para guardar o trabalho em andamento temporariamente.

Bash
# desfazer o último commit (mantém as alterações nos arquivos)
git reset HEAD~1

# stash — guardar mudanças temporariamente sem commitar
git stash            # guarda
git stash pop        # recupera

9. Finalizando a tarefa

Depois que o Pull Request for aprovado e mergeado na main, volte para a branch principal, atualize-a e remova a branch de trabalho que não é mais necessária.

Bash
# após o PR ser aprovado e mergeado, limpar localmente
git switch main
git pull origin main
git branch -d feature/minha-tarefa

Referência rápida

Uma visão consolidada dos comandos mais usados no dia a dia para consulta rápida.

Comandos Essenciais do Git
Comando O que faz
git status Ver arquivos modificados
git diff Ver mudanças linha a linha
git add . Adicionar tudo para o commit
git commit -m "" Salvar com mensagem
git push Enviar para o remoto
git pull Baixar e aplicar atualizações
git switch -c Criar e entrar em uma branch
git log --oneline Ver histórico resumido
git stash Guardar mudanças sem commitar
git rebase main Atualizar branch com a main
git reset HEAD~1 Desfazer último commit
git restore arquivo Descartar mudanças locais

Prefixos de Commit — Conventional Commits

Adotar um padrão de mensagens de commit torna o histórico do projeto legível para todos do time e facilita a geração automática de changelogs. O padrão mais utilizado é o Conventional Commits.

Prefixos do Conventional Commits
Prefixo Uso Exemplo
feat Nova funcionalidade feat(auth): adiciona login com Google
fix Correção de bug fix(api): corrige timeout em chamadas lentas
docs Documentação docs(readme): atualiza instruções de setup
style Formatação, lint (sem mudança de lógica) style: aplica prettier nos arquivos
refactor Melhoria de código sem alterar comportamento refactor(user): simplifica lógica de validação
test Adição ou correção de testes test(auth): adiciona testes de login
chore Build, dependências, configurações chore: atualiza versão do eslint
perf Melhoria de performance perf(query): otimiza busca no banco
ci Configuração de CI/CD ci: adiciona workflow de deploy
revert Reverter um commit anterior revert: desfaz feat(auth): login com Google

Caso queira continuar estudando e aprender mais sobre outros conteúdos, segue o link. Bons estudos!

"Um bom histórico de commits é uma carta para o seu eu do futuro." — comunidade Git