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.
# 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.
# 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.
# 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.
# 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.
# 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.
# 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.
# 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.
# 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.
# 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.
| 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.
| 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