🎯 Git

Em poucas palavras

O Git é um sistema de controle de versão distribuído. Ele funciona como uma “máquina do tempo” para o seu código, permitindo rastrear alterações, reverter erros e colaborar com outras pessoas sem sobrescrever o trabalho alheio.


📝 Notas e Desenvolvimento

  • O Git não é a mesma coisa que GitHub (o primeiro é a ferramenta, o segundo é a plataforma de hospedagem).
  • Quase todas as operações são locais, o que garante velocidade.
  • O Git foca em snapshots (fotos do estado dos arquivos), não apenas em diferenças de linhas.

🔗 Conexões e Contexto


📚 Referências e Fontes

📂 Outros Conteúdos Preservados

🏗️ Fluxo de Trabalho (Lifecycle)

No Git, um arquivo passa por quatro estados principais:

  1. Untracked: Arquivo novo, o Git ainda não o “vê”.
  2. Unmodified/Modified: Arquivo rastreado que foi ou não alterado.
  3. Staged: Alterações marcadas para o próximo commit.
  4. Committed: Alterações salvas com segurança no banco de dados local.

💻 Comandos Essenciais

Configuração Inicial

git config --global user.name "Seu Nome"
git config --global user.email "[email protected]"
git init                  # Transforma a pasta atual em um repositório

O Ciclo Diário

git status                # O comando mais importante: vê o estado atual
git add <arquivo>         # Adiciona um arquivo ao Staging (preparação)
git add .                 # Adiciona TODOS os arquivos alterados
git commit -m "mensagem"  # Salva o snapshot com uma descrição

Ramificações (Branches) e Colaboração

git branch -M main        # Define a branch principal como 'main'
git checkout -b <nome>    # Cria e muda para uma nova branch
git switch <nome>         # Atalho moderno para mudar de branch
git merge <nome>          # Une o histórico da branch <nome> à atual

Remoto (Sincronização)

git remote add origin <url> # Conecta seu PC ao repositório online
git push -u origin main     # Envia seus commits (o -u salva a preferência)
git pull                    # Traz as novidades do servidor e mescla no local
git clone <url>             # Baixa um projeto inteiro pela primeira vez

⚠️ Conflitos de Mesclagem (Merge Conflicts)

Ocorrem quando o Git não consegue decidir qual linha de código manter (ex: duas pessoas alteraram a mesma linha em branches diferentes).

Como ler o conflito:

<<<<<<< HEAD
B = 2  # Sua alteração (Local)
=======
B = 3  # Alteração que veio do Pull/Merge (Remoto/Outra Branch)
>>>>>>> hash_do_commit

Resolução:

  1. Abra o arquivo e escolha o que manter.
  2. Remova os marcadores (<<<<, ====, >>>>).
  3. Salve o arquivo.
  4. Rode git add . e git commit para finalizar a mesclagem.

🔍 Histórico e Recuperação

  • git log --oneline: Exibe o histórico de forma resumida e elegante.
  • git diff: Mostra exatamente o que foi alterado nos arquivos antes do commit.
  • Reset Hard: git reset --hard <hash>Cuidado! Apaga todas as alterações locais e volta para o commit especificado.