Voltar para Wiki
Programação3 Módulos

Git & GitHub - Controle de Versão

Domine a ferramenta essencial de todo desenvolvedor. Aprenda a salvar, recuperar e compartilhar seu código com segurança.

1

Configuração Inicial

O que é Git?

Git é um sistema de controle de versão distribuído. Imagine que ele cria "Checkpoints" (pontos de salvamento) no seu projeto. Se você quebrar o código, pode voltar para um ponto onde tudo funcionava.
Antes de começar, você precisa dizer ao Git quem você é. Isso ficará gravado em cada alteração que você fizer.
bash
# Defina seu nome
git config --global user.name "Seu Nome"

# Defina seu email (o mesmo usado no GitHub)
git config --global user.email "seuemail@exemplo.com"

# Verifique se deu certo
git config --list

Iniciando um Repositório

Para monitorar uma pasta, você precisa transformá-la em um repositório Git.
bash
cd minha-pasta-projeto
git init
Isso cria uma pasta oculta `.git` que contém todo o histórico do projeto. Nunca apague essa pasta a menos que queira perder o histórico!
2

Fluxo de Trabalho Local

Entendendo os 3 Estados (Teoria)

O Git não salva tudo automaticamente. Ele trabalha com 3 áreas principais. Pense nisso como tirar uma foto profissional:
  • Working Directory (Cenário): Onde você está editando os arquivos agora.
  • Staging Area (Enquadramento): Você escolhe o que vai aparecer na foto (`git add`).
  • Repository (A Foto): O registro permanente salvo no histórico (`git commit`).

Comitando Alterações (Prática)

Passo 1: Verificar o status

O comando `git status` é seu melhor amigo. Use-o sempre para saber o que está acontecendo.
bash
git status
# Vai mostrar arquivos em vermelho (não rastreados ou modificados)

Passo 2: Preparar (Staging)

bash
# Adiciona um arquivo específico
git add index.html

# OU adiciona TUDO que foi alterado na pasta
git add .

Passo 3: Salvar (Commit)

O commit deve ter uma mensagem clara explicando O QUE foi feito.
bash
git commit -m "Adiciona estrutura inicial do HTML"

Ignorando Arquivos (.gitignore)

Nem tudo deve ir para o Git. Arquivos de dependências (node_modules), senhas (.env) ou arquivos de log devem ser ignorados.
Crie um arquivo chamado `.gitignore` na raiz do projeto e liste o que o Git deve ignorar:
text
# Conteúdo do arquivo .gitignore
node_modules/
.env
*.log
dist/
3

Branches e GitHub

Trabalhando com Branches

Branches (ramificações) permitem criar uma cópia paralela do seu projeto para testar novidades sem quebrar o código principal (geralmente chamado de `main` ou `master`).
bash
# Cria e entra numa nova branch chamada 'nova-funcionalidade'
git checkout -b nova-funcionalidade

# ... faça suas alterações e commits aqui ...

# Volta para a branch principal
git checkout main

# Traz as novidades da branch para a principal (Fusão)
git merge nova-funcionalidade

Conectando ao GitHub (Remoto)

Para enviar seu código para a nuvem (GitHub/GitLab), você precisa adicionar um "remoto".
bash
# 1. Crie um repositório vazio no site do GitHub
# 2. Copie a URL (HTTPS ou SSH)

# Conecta seu git local ao servidor
git remote add origin https://github.com/usuario/projeto.git

# Envia o código pela primeira vez
git push -u origin main
  • git push: Envia seus commits locais para o servidor.
  • git pull: Baixa commits do servidor para o seu computador.