📘 Guia Prático de Git para Projetos - prfs91/VolunteerCodeCarajas GitHub Wiki

Este é um manual com os principais comandos e práticas para usar o Git no dia a dia de forma simples, organizada e eficiente.


🛠️ Inicialização de Repositório

Criar repositório local

git init

Clonar repositório existente

git clone https://github.com/usuario/repo.git

🔍 Verificação e Status

Verificar o estado do repositório

Mostra se há arquivos modificados, adicionados, etc.

git status

Verificar diferenças em arquivos (sem adicionar ainda)

git diff

Verificar diferenças entre sua branch local e a remota

git fetch origin
git diff origin/main

Verificar diferenças de commits

git log --oneline --graph --all

📂 Gerenciamento de Branches

Criar nova branch e mudar para ela

git checkout -b nome-da-branch

Listar branches locais

git branch

Listar branches remotas

git branch -r

Trocar de branch

git checkout nome-da-branch

Verificar qual branch está sendo usada

git branch --show-current

✅ Preparar e Realizar Commit

Adicionar arquivos ao stage (preparar para commit)

git add nome-do-arquivo.ext
# ou todos os arquivos:
git add .

Commit com título e descrição

git commit -m "✨ feat: adiciona novo componente" -m "Detalhes adicionais da mudança"

🚀 Enviar para o GitHub

Enviar alterações para o repositório remoto

git push

Enviar branch específica (primeira vez)

git push --set-upstream origin nome-da-branch

🔄 Sincronizar com Repositório Remoto

Baixar atualizações do repositório remoto (sem aplicar)

git fetch origin

Aplicar atualizações da branch remota na local

git pull

🔃 Comparar Arquivos e Sincronizar

Comparar local com remoto (ver se está diferente)

git fetch origin
git diff origin/main

Verificar arquivos a mais ou a menos

git ls-files           # Arquivos rastreados
ls                     # Arquivos no diretório

🔧 Organização de Commits por Branch

Se você tem múltiplas alterações e deseja separar:

  1. Crie branches específicas:

    git checkout -b ajuste/gitignore
    
  2. Adicione e faça commit apenas do que for relevante:

    git add .gitignore
    git commit -m "🔧 chore: atualiza .gitignore"
    
  3. Mude para outra branch e adicione outros arquivos:

    git checkout -b ajuste/startps1
    git add start.ps1
    git commit -m "🐛 fix: ajusta script de startup"
    

🧼 Desfazendo Coisas

Desfazer alterações locais não comitadas

git checkout -- nome-do-arquivo

Desfazer git add

git restore --staged nome-do-arquivo

Desfazer último commit (mantendo alterações locais)

git reset --soft HEAD~1

Desfazer último commit (removendo alterações locais)

git reset --hard HEAD~1

📦 Extras

Criar Pull Request via GitHub (sugestão)

  1. Faça o push da sua branch.
  2. Vá no GitHub e clique em Compare & Pull Request.
  3. Escolha se será:
    • Create Pull Request → quando está pronto para revisão ou merge.
    • Create Draft Pull Request → quando ainda está trabalhando e quer só compartilhar.

Tipos de Merge no GitHub

  • Create a merge commit: junta as branches com histórico separado.
  • Squash and merge: junta todos os commits em um único (ideal para PRs simples).
  • Rebase and merge: reescreve o histórico como se fosse uma linha só (avançado).

Para projetos de aprendizagem: use Squash and merge para manter o histórico limpo e facilitar a revisão.


📌 Recomendações

  • Crie uma branch para cada conjunto de alterações (funcionalidade, correção, documentação, etc).
  • Sempre escreva mensagens de commit claras e informativas.
  • Use emojis para facilitar a leitura dos commits (ex: , 🐛, 📄, 🔧, etc).

🧠 Dica: use esse guia como seu manual prático de Git e personalize conforme o seu fluxo de trabalho for evoluindo.