Desenvolvimento Web

Git e GitHub do zero: guia completo para versionar seu código como um profissional

Git e GitHub do zero: guia completo para versionar seu código como um profissional

Git é o sistema de controle de versão mais usado no mundo — presente em virtualmente todas as empresas de tecnologia. GitHub é a plataforma de hospedagem de repositórios Git mais popular. Aprender Git e GitHub não é opcional para quem quer trabalhar como desenvolvedor — é um pré-requisito tão fundamental quanto saber escrever código. Este guia cobre os conceitos essenciais e os comandos que você vai usar todos os dias.

O que é controle de versão e por que você precisa?

Controle de versão registra todo o histórico de mudanças no seu código ao longo do tempo. Com Git, você pode: voltar para qualquer versão anterior do código (desfazer mudanças que quebraram tudo), trabalhar em novas funcionalidades sem arriscar o código que já funciona (branches), colaborar com outros desenvolvedores sem sobrescrever o trabalho um do outro, e entender quando e por que cada linha de código foi adicionada. Sem controle de versão, equipes de desenvolvimento recorrem a pastas nomeadas “versão_final”, “versão_final_2”, “versão_ESSA_MESMO” — um caos que qualquer pessoa que já viveu reconhece imediatamente.

Instalação e configuração inicial

Baixe Git em git-scm.com. Após instalar, configure seu nome e email (obrigatório para commits):

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

Para GitHub, crie uma conta gratuita em github.com. A autenticação recomendada hoje é via SSH ou Personal Access Token — o GitHub descontinuou autenticação por senha em 2021.

Os três estados do Git e o fluxo básico

Git tem três áreas: Working Directory (seus arquivos locais que você edita), Staging Area (área de preparação para o próximo commit), e Repository (histórico de commits). O fluxo de trabalho diário:

# Inicializa repositório Git na pasta atual
git init

# Verifica o status dos arquivos (modificados, novos, staged)
git status

# Adiciona arquivo(s) à staging area
git add arquivo.js          # arquivo específico
git add .                   # todos os arquivos modificados

# Cria um commit com os arquivos staged
git commit -m "Adiciona formulário de login"

# Envia para o GitHub (remote chamado 'origin', branch 'main')
git push origin main

Branches: trabalhe em paralelo com segurança

Branch é uma linha isolada de desenvolvimento. A branch principal (main ou master) deve sempre ter código estável e funcional. Novas funcionalidades, bugfixes e experimentos são feitos em branches separadas e só integrados ao main depois de testados:

# Ver todas as branches
git branch

# Criar e mudar para nova branch
git checkout -b feature/pagina-contato

# Trabalhando... commits na nova branch...

# Volta para main
git checkout main

# Integra a branch de feature no main
git merge feature/pagina-contato

# Remove a branch (já integrada)
git branch -d feature/pagina-contato

Clonando e colaborando no GitHub

Para trabalhar com um repositório remoto existente:

# Clona repositório do GitHub para sua máquina
git clone https://github.com/usuario/repositorio.git

# Busca mudanças do remoto sem integrar ainda
git fetch origin

# Busca e integra mudanças do remoto (fetch + merge)
git pull origin main

O fluxo de colaboração padrão: você cria uma branch, faz commits, envia a branch para o GitHub (git push origin nome-da-branch), e abre um Pull Request (PR) no GitHub para que outra pessoa revise e aprove o merge no main. Esse fluxo, chamado GitHub Flow, é usado pela maioria das empresas de tecnologia.

Comandos para situações de emergência

# Desfaz mudanças não commitadas em um arquivo
git checkout -- arquivo.js

# Desfaz o último commit (mantém as mudanças no working directory)
git reset HEAD~1

# Ver histórico de commits
git log --oneline

# Salva mudanças temporariamente sem commitar
git stash
git stash pop  # restaura depois

Git tem uma curva de aprendizado que parece íngreme no começo, mas os comandos do dia a dia são poucos — você vai usar add, commit, push, pull, checkout e branch em 90% das situações. O resto você aprende conforme a necessidade aparece.

Tem um projeto em mente?

Somos especialistas em transformar ideias em produtos digitais. Apps, sites, automações e IA — vamos construir juntos.

Resposta rápida Orçamento sem compromisso +100 projetos entregues
Compartilhar: