Este guia prático reúne os comandos Git mais utilizados no dia a dia, desde o início do desenvolvimento em uma nova branch até a integração das suas alterações. Ideal para quem está começando ou precisa de uma referência rápida.
Fluxo de Criação e Desenvolvimento de Branch
- Navegar entre branches:
git checkout [nome_branch]
Este comando permite alternar para uma branch existente. - Baixar as últimas alterações da branch remota:
git pull
Use este comando para integrar as mudanças da branch remota para a sua branch local. É crucial executar antes de começar a trabalhar ou enviar suas alterações. - Criar uma nova branch e mudar para ela:
git checkout -b [nova_branch]
Esta é uma forma rápida de criar uma nova branch local baseada na branch atual e já se mover para ela. - Enviar a nova branch para o repositório remoto e configurar o rastreamento (upstream):
git push -u origin [nova_branch]
Ao usar-u
pela primeira vez em uma nova branch, você define uma ligação com a branch remota de mesmo nome. Isso permite usargit push
egit pull
de forma mais simples no futuro. - Preparar as alterações para o commit (stage):
git add .
O comandogit add .
adiciona todas as alterações nos arquivos rastreados ao ambiente de staging, preparando-os para serem incluídos no próximo commit. Para adicionar arquivos específicos, usegit add [nome_do_arquivo]
. - Registrar as alterações com uma mensagem descritiva (commit):
git commit -m "mensagem clara e concisa sobre as alterações"
A mensagem do commit é fundamental para entender o histórico do projeto. Seja claro e objetivo ao descrever as mudanças realizadas. - Enviar as alterações para o repositório remoto (push):
git push
Após o primeirogit push -u
, você pode usar apenasgit push
para enviar seus commits para a branch remota rastreada.
Integrando Alterações (Merge)
- Voltar para a branch principal (pai):
git checkout [branch_pai]
Normalmente, a branch principal émain
oumaster
. - Atualizar a branch principal com as últimas alterações remotas:
git pull
Certifique-se de que sua branch principal esteja atualizada antes de integrar outras branches. - Realizar o merge da branch de funcionalidade na branch principal (sem “fast-forward”):
git merge --no-ff -m "Merge da branch [nome_branch] para [branch_pai]"
O flag--no-ff
força a criação de um commit de merge, preservando o histórico da branch de funcionalidade como um nó separado, o que torna o rastreamento mais claro. - Enviar a branch principal atualizada para o repositório remoto:
git push
Utilitários e Limpeza
- Sair do editor de texto do Git (como o Vim):
Pressione a teclaEsc
, digite:wq
e pressioneEnter
. (w
para salvar,q
para sair). - Deletar uma branch local:
git branch -d [nome_branch]
Use-D
(maiúsculo) para forçar a exclusão de uma branch que não foi completamente mergeada. - Remover referências a branches remotas que não existem mais:
git remote prune origin
Este comando limpa sua lista de branches remotas, removendo aquelas que já foram deletadas no repositório remoto (origin
é o nome padrão do seu repositório remoto principal). - Desfazer o último commit local (sem perder as alterações):
git reset --soft HEAD~1
Isso move o ponteiroHEAD
para o commit anterior, mas mantém as alterações no seu staging area. - Desfazer o último commit local e remover as alterações do staging area:
git reset --mixed HEAD~1
Este é o comportamento padrão dogit reset
. - Desfazer o último commit local e descartar todas as alterações:
git reset --hard HEAD~1
Cuidado! Este comando descarta todas as alterações não commitadas. Use com precaução. - Forçar o envio de um commit alterado para o repositório remoto (se o commit já foi enviado):
git push origin HEAD --force
Extremo cuidado! Forçar o push pode sobrescrever o trabalho de outros colaboradores. Use apenas em situações muito específicas e quando tiver certeza do que está fazendo. Uma alternativa mais segura é usargit revert
para criar um novo commit que desfaça as alterações do commit anterior.
Outros Comandos Úteis
- Visualizar o histórico de commits:
git log
Exibe o histórico de commits com informações detalhadas. Usegit log --oneline --graph --decorate --all
para uma visão mais compacta e gráfica. - Ver o status dos seus arquivos (modificados, adicionados, etc.):
git status
- Comparar as alterações entre commits, branches, etc.:
git diff [branch1] [branch2]
git diff --staged
O primeiro comando mostra as diferenças entre duas branches. O segundo mostra as diferenças entre a área de staging e o último commit. - Adicionar um repositório remoto:
git remote add origin [URL_do_repositorio]
Isso conecta seu repositório local a um repositório remoto.origin
é o nome de convenção para o repositório remoto principal. - Listar os repositórios remotos configurados:
git remote -v
- Trazer as informações sobre as branches remotas sem mesclar:
git fetch
Útil para verificar as mudanças no repositório remoto antes de integrar comgit merge
ougit pull
.
Espero que este guia seja útil no seu dia a dia! 😊