Guia Definitivo de Git & GitHub

Domine o controle de versão e a colaboração de código. Este guia foi projetado para ser um recurso completo, desde a configuração inicial até os fluxos de trabalho diários, útil tanto para iniciantes quanto para profissionais experientes.

1. Configuração Inicial (Primeiros Passos)

Antes de começar a usar o Git, é crucial configurar sua identidade. Isso anexa seu nome e e-mail a cada commit que você fizer, identificando sua autoria no histórico do projeto. Este é um passo único na configuração de uma nova máquina.

git config --global user.name "Seu Nome Completo"
git config --global user.email "seu-email@exemplo.com"

2. Do Zero à Nuvem: Criando e Enviando seu Primeiro Projeto

Vamos simular o fluxo completo: criar um projeto local, iniciar o controle de versão e publicá-lo em um novo repositório no GitHub. Usaremos a CLI do GitHub (gh) para agilizar o processo.

Passo a Passo:

  1. Crie e acesse o diretório do projeto:
    mkdir meu-projeto-incrivel
    cd meu-projeto-incrivel
  2. Inicialize o Git:
    Isso cria um repositório local (uma pasta .git) para rastrear as mudanças.
    git init
  3. Crie um arquivo e faça o primeiro commit:
    Adicione um arquivo de exemplo, prepare-o (add) e salve um snapshot (commit).
    echo "# Meu Projeto Incrível" > README.md
    git add .
    git commit -m "Primeiro commit: Adiciona README inicial"
  4. Autentique-se no GitHub:
    Se for a primeira vez, conecte seu terminal à sua conta do GitHub.
    gh auth login
  5. Crie o repositório no GitHub e envie o código:
    Este comando cria o repositório remoto, o conecta ao seu projeto local e envia seus commits.
    gh repo create nome-do-repositorio --public --source=. --remote=origin --push

3. Comandos Essenciais para o Dia a Dia

Esta tabela resume os comandos que você mais usará. Entendê-los bem é a chave para um fluxo de trabalho produtivo.

Comando O que faz Exemplo de Uso Comum
git status Mostra o estado atual do seu repositório: arquivos modificados, novos ou preparados para commit. git status
git add Adiciona arquivos modificados à "área de preparação" (staging), marcando-os para o próximo commit. git add . (adiciona tudo) ou git add nome-do-arquivo.js
git commit -m "msg" Salva as alterações preparadas no histórico local com uma mensagem descritiva. git commit -m "feat: Adiciona nova funcionalidade de login"
git push Envia seus commits locais para o repositório remoto no GitHub. git push origin main
git pull Busca e mescla as alterações do repositório remoto para o seu ambiente local. Essencial antes de começar a trabalhar. git pull origin main
git branch Lista, cria ou deleta branches (ramos). Branches permitem desenvolver funcionalidades isoladamente. git branch nova-feature (cria) / git branch (lista)
git checkout Muda para um branch existente ou cria um novo e já muda para ele. git checkout -b nova-feature
git merge Incorpora as alterações de um branch em outro (ex: da sua feature para o branch principal). git checkout main -> git merge nova-feature
git log Exibe o histórico de commits do projeto. git log --oneline --graph
git stash Guarda temporariamente as modificações que ainda não estão prontas para um commit, limpando sua área de trabalho. git stash (guarda) / git stash pop (aplica de volta)

4. Fluxo de Trabalho Diário Recomendado

Siga estes passos para manter seu trabalho sincronizado e evitar conflitos com outros desenvolvedores.

  1. Sincronize: Sempre comece seu dia (ou tarefa) atualizando seu projeto local com git pull.
  2. Trabalhe: Crie/edite seus arquivos, implementando novas funcionalidades ou corrigindo bugs.
  3. Prepare: Use git add . para preparar todas as suas alterações para o commit.
  4. Salve: Faça o commit das alterações com uma mensagem clara: git commit -m "Sua mensagem".
  5. Envie: Compartilhe seu trabalho com a equipe enviando para o GitHub com git push.

5. Extras Úteis para Turbinar seu Workflow

Clonando um Projeto Existente

Para trabalhar em um projeto que já existe no GitHub, você precisa criar uma cópia local dele. Isso é feito com o comando git clone.

# Copie a URL do repositório no GitHub (botão "Code")
git clone https://github.com/usuario/nome-do-repositorio.git

Criando Atalhos (Aliases) para Comandos

Se você usa certos comandos com frequência, pode criar atalhos (aliases) para eles no seu terminal, economizando tempo e digitação. A configuração depende do seu shell (Bash, Zsh, etc.), mas geralmente é feita no arquivo .bashrc ou .zshrc.

# Exemplo de aliases que você pode adicionar ao seu .bashrc ou .zshrc
alias gs="git status"
alias ga="git add ."
alias gc="git commit -m"
alias gp="git push"
alias gl="git pull"

Após adicionar, reinicie o terminal ou rode source ~/.bashrc. Agora, você pode simplesmente digitar gs em vez de git status.