Plataforma de Colaboração

GitHub

O GitHub é onde o mundo constrói software. Saiba o que ele é, como funciona e como utilizá-lo para colaborar, hospedar código e impulsionar sua carreira de desenvolvedor.

beginner16 min readUpdated 15 de set. de 2026
bash
# Create a new repository on GitHub
# Then clone it to your machine
git clone https://github.com/your-username/my-project.git

# Make changes and push
git add .
git commit -m "Add README"
git push origin main
Criado
2008, por Tom Preston-Werner, Chris Wanstrath e PJ Hyett
Tipo
Plataforma de colaboração baseada em nuvem
Proprietário
Microsoft (desde 2018)
Repositórios
Mais de 330 milhões
Desenvolvedores
Mais de 100 milhões
Preços
Plano gratuito disponível, planos pagos para equipes

Por que importa

Por que o GitHub é importante

Colaboração em equipe

Pull requests, code review, issues e discussões permitem que as equipes trabalhem juntas no código com transparência e responsabilidade.

Automação

O GitHub Actions automatiza os testes, a compilação e o deploy do seu código. Configure pipelines de CI/CD com configuração em YAML.

Segurança

Varredura de dependências integrada, detecção de secrets e fluxos de code review ajudam a capturar vulnerabilidades antes que cheguem à produção.

O panorama completo

As três camadas do GitHub

O GitHub é uma plataforma, um conjunto de ferramentas e uma comunidade. Entender qual camada você está utilizando ajuda a tirar o máximo proveito dele.

GitHub

A plataforma

Hospedagem em nuvem para repositórios Git com recursos de colaboração como pull requests, issues e code review.

Git

A ferramenta

O sistema de controle de versão distribuído que roda na sua máquina e rastreia todas as alterações nos seus arquivos.

Comunidade

As pessoas

Mantenedores de open source, contribuidores e equipes que usam o GitHub para construir, compartilhar e descobrir software.

GitHub em resumo

O que a plataforma oferece

Repositórios

Repositórios Git hospedados na nuvem com rastreamento de issues, wikis, releases e controles de acesso.

Pull Requests

Proponha alterações, revise código, discuta alternativas e faça o merge com um histórico de auditoria claro.

Issues

Rastreie bugs, solicite funcionalidades e gerencie tarefas com labels, milestones e atribuições.

Actions

Pipelines de CI/CD que testam, compilam e fazem o deploy do seu código automaticamente a cada push.

Codespaces

Ambientes de desenvolvimento na nuvem que iniciam instâncias do seu repositório prontas para codar.

Pages

Hospede sites estáticos diretamente do seu repositório — documentações, portfólios e mais.

Uma breve historia

Da hospedagem de código ao ecossistema de desenvolvedores

  1. 2008

    Lançamento do GitHub

    Tom Preston-Werner, Chris Wanstrath e PJ Hyett criam uma plataforma que torna a colaboração com Git simples e eficiente.

    08
  2. 2010

    Chegada dos Pull Requests

    O fluxo de trabalho de pull request transforma a maneira como as equipes revisam e mesclam código, tornando-se o padrão da indústria.

    10
  3. 2013

    Anúncio do GitHub Actions

    Automação de CI/CD integrada à plataforma, eliminando a necessidade de ferramentas externas para muitos fluxos de trabalho.

    13
  4. 2018

    Microsoft adquire o GitHub

    O GitHub ganha recursos mantendo sua independência, acelerando funcionalidades como Codespaces e Copilot.

    18
  5. 2021

    Copilot e Codespaces

    Sugestões de código via IA e ambientes de desenvolvimento na nuvem mudam a forma como os desenvolvedores escrevem código.

    21
  6. Hoje

    A plataforma do desenvolvedor

    Mais de 100 milhões de desenvolvedores, mais de 330 milhões de repositórios e a casa padrão para software open source.

    Hoje

O guia completo

GitHub: Tudo que voce precisa saber

O que é o GitHub?

O GitHub é uma plataforma baseada em nuvem para hospedar repositórios Git e colaborar com outros desenvolvedores. Ele pega tudo o que o Git faz localmente — rastrear alterações, gerenciar branches, fazer merge de código — e adiciona uma interface web com ferramentas para code review, rastreamento de issues, automação e gerenciamento de projetos.

Pense no Git como o motor e no GitHub como o painel de controle. O Git roda na sua máquina, cuidando do controle de versão. O GitHub hospeda seu repositório online, permitindo que outras pessoas vejam seu código, sugiram melhorias, reportem bugs e contribuam com funcionalidades através de um workflow estruturado.

Com mais de 100 milhões de desenvolvedores e 330 milhões de repositórios, o GitHub é onde o mundo constrói software. Projetos open source, startups, empresas e desenvolvedores individuais o utilizam como sua principal plataforma de colaboração. Se você está aprendendo a programar, ter um perfil no GitHub é tão importante quanto ter um portfólio.

Por que o GitHub é importante

O controle de versão na sua máquina é útil, mas a colaboração exige um espaço compartilhado. O GitHub oferece esse espaço com funcionalidades que tornam o trabalho em equipe estruturado e transparente:

  • Hospedagem centralizada — seu código fica na nuvem, acessível de qualquer lugar e com um backup que nunca se perde.
  • Pull requests — proponha alterações, revise o código linha por linha e faça o merge apenas quando todos estiverem de acordo.
  • Issues e quadros de projeto — rastreie bugs, gerencie funcionalidades e organize o trabalho com labels, milestones e quadros kanban.
  • Automação de CI/CD — o GitHub Actions executa testes, builds e faz o deploy do seu código automaticamente a cada push.
  • Comunidade — descubra projetos open source, contribua com eles e construa sua reputação como desenvolvedor.
  • Segurança — a varredura de dependências, a detecção de secrets e os fluxos de code review identificam vulnerabilidades precocemente.

O GitHub não é apenas um serviço de hospedagem de código. É uma plataforma de desenvolvimento que abrange todo o ciclo de vida do software, da ideia ao deployment.

Configurando o GitHub

Criando uma conta

Acesse github.com e cadastre-se com seu e-mail. Escolha o plano gratuito — ele inclui tudo o que você precisa para começar.

Configurando o Git

Após criar sua conta, configure o Git para trabalhar com o GitHub:

# Set your identity
git config --global user.name "Your Name"
git config --global user.email "[email protected]"

# Set the default branch name
git config --global init.defaultBranch main

Conectando via SSH

Chaves SSH permitem que você se autentique sem precisar digitar sua senha todas as vezes:

# Generate a new SSH key
ssh-keygen -t ed25519 -C "[email protected]"

# Start the SSH agent
eval "$(ssh-agent -s)"

# Add your key to the agent
ssh-add ~/.ssh/id_ed25519

# Copy the public key to add to GitHub
cat ~/.ssh/id_ed25519.pub

Vá em GitHub Settings > SSH and GPG keys > New SSH key, cole sua chave pública e salve. Agora você pode clonar, fazer push e pull usando URLs SSH.

Recursos principais do GitHub

Repositórios

Um repositório é um projeto no GitHub. Ele contém seu código, arquivos de configuração, documentação e o histórico completo do Git. Todo repositório possui:

  • Uma aba de código para navegar pelos arquivos
  • Uma aba de issues para acompanhar o trabalho
  • Uma aba de pull requests para revisão de código
  • Uma wiki para documentação
  • Uma aba de configurações para controle de acesso

Crie um novo repositório a partir da página inicial do GitHub ou pela linha de comando:

# Create a new repo on GitHub, then clone it
gh repo create my-project --public --clone

Issues

As issues são a forma de acompanhar o trabalho. Use-as para relatórios de bugs, solicitações de funcionalidades, tarefas e discussões:

# Create an issue from the command line
gh issue create --title "Fix login bug" --body "Users cannot log in with empty email"

Cada issue pode ter:

  • Labels — categorize por tipo (bug, melhoria, documentação)
  • Assignees — quem é o responsável
  • Milestones — agrupe issues em versões ou sprints
  • Pull requests vinculados — mostre quais PRs resolvem a issue

Pull requests

Os pull requests são o coração da colaboração no GitHub. Eles permitem propor alterações, revisar código e fazer o merge quando estiver pronto:

# Create a branch, make changes, push, then open a PR
git checkout -b fix-login-bug
# make changes
git add .
git commit -m "Fix null check in login handler"
git push origin fix-login-bug
gh pr create --title "Fix login bug" --body "Adds null check for empty email"

Os pull requests incluem ferramentas de revisão de código, verificações automatizadas, threads de discussão e controles de merge. Eles são a maneira padrão de integrar código a uma base de código compartilhada.

GitHub Actions

As Actions automatizam seu fluxo de desenvolvimento. Escreva arquivos YAML que definem o que acontece quando eventos ocorrem:

# .github/workflows/ci.yml
name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npm ci
      - run: npm test

Usos comuns incluem a execução de testes a cada push, deploy em produção ao fazer merge na main e a construção de imagens Docker em cada release.

GitHub Pages

Hospede sites estáticos diretamente do seu repositório:

# Enable Pages in your repo settings, then push to the gh-pages branch
git checkout -b gh-pages
git push origin gh-pages

O Pages é perfeito para sites de documentação, portfólios, blogs e landing pages. Ele suporta domínios personalizados, HTTPS e geradores de sites estáticos como Jekyll e Astro.

Trabalhando com equipes

Forking de repositórios

Fazer um fork cria sua própria cópia do repositório de outra pessoa. Você pode fazer alterações sem afetar o original:

# Fork a repo using the GitHub CLI
gh repo fork owner/repo --clone

# Or fork and add a remote
git remote add fork https://github.com/your-username/repo.git

O forking é a maneira padrão de contribuir para projetos open source. Você faz o fork do repositório, realiza as alterações no seu fork e abre um pull request de volta para o original.

Code review

As ferramentas de code review do GitHub permitem comentar em linhas específicas, sugerir alterações e solicitar modificações:

  • Comentários inline — discuta linhas específicas de código
  • Sugestões de alteração — proponha edições que os autores podem aceitar com um clique
  • Aprovações de review — aprove, solicite alterações ou comente no PR como um todo
  • Code owners — atribua revisores automaticamente com base nos arquivos alterados

Proteção de branches

Proteja branches importantes contra alterações acidentais ou não autorizadas:

  • Exigir reviews de pull request antes do merge
  • Exigir que as verificações de status passem (a CI deve estar verde)
  • Exigir histórico linear (sem merge commits)
  • Restringir quem pode fazer push para a branch
  • Exigir commits assinados

Gestão de projetos

O GitHub Projects oferece quadros kanban, tabelas e roadmaps para gerenciar o trabalho:

  • Crie colunas como “To Do”, “In Progress” e “Done”
  • Vincule issues e pull requests a cartões
  • Automatize a movimentação de cartões com base em eventos
  • Acompanhe o progresso com insights e gráficos

Melhores práticas

  • Escreva arquivos README descritivos — explique o que seu projeto faz, como instalá-lo e como contribuir.
  • Use templates de issue — padronize os relatos de bugs e as solicitações de novas funcionalidades.
  • Ative a proteção de branch — exija revisões e a aprovação da CI antes de realizar o merge.
  • Escreva descrições de PR significativas — explique o que mudou, por que mudou e como testar.
  • Use GitHub Actions — automatize os testes e o deployment em vez de fazê-los manualmente.
  • Mantenha os repositórios focados — um projeto por repo, evitando monólitos de código não relacionado.
  • Tagueie as releases — use versionamento semântico e GitHub Releases para marcar versões estáveis.
  • Contribua para open source — faça fork, corrija bugs e envie pull requests para construir sua experiência e reputação.

Erros comuns

  • Enviar dados sensíveis, como API keys ou senhas, para um repositório público.
  • Não escrever um README, deixando os visitantes confusos sobre o que o projeto faz.
  • Criar pull requests sem descrição ou contexto para os revisores.
  • Ignorar issues e deixá-las se acumularem sem triagem.
  • Não utilizar branch protection, permitindo pushes diretos para a main.
  • Comitar node_modules, .env ou outros arquivos que deveriam estar no .gitignore.
  • Usar o GitHub como um serviço de backup sem entender o Git localmente primeiro.

O que aprender a seguir

Agora você compreende os recursos principais do GitHub: repositórios, issues, pull requests e Actions. A partir daqui, o próximo passo natural é Git para dominar o sistema de controle de versão que sustenta tudo isso, incluindo branching, merging e rebasing. Escolha um projeto, contribua com ele e deixe a prática acumular.

Nomes de repositórios

Use nomes descritivos em kebab-case que indiquem o que o projeto faz.

Preferível
react-data-grid
task-api-server
design-system-tokens
Evite
my-project
stuff
final-v2-actual

Títulos de Issues

Escreva títulos que descrevam o problema, não a tentativa de solução.

Preferível
Login form crashes on empty email input
Add pagination to user list endpoint
Dark mode toggle not persisting across sessions
Evite
Bug
Fix this
Help please

Perguntas frequentes

Perguntas frequentes

Keep learning

Related topics from the roadmap.

$ comecar a aprender

Pronto para aprender GitHub?

Nosso tutorial interativo te guia por GitHub passo a passo — com quizzes e codigo real que voce pode executar no navegador.