📘Guia Prático: Introdução ao Git + Como Subir Seu Código no GitHub

Published: (December 11, 2025 at 08:18 PM EST)
4 min read
Source: Dev.to

Source: Dev.to

Introdução

No cenário atual do desenvolvimento de software usamos dezenas de linguagens, frameworks e ferramentas. Independentemente da stack, todo desenvolvedor precisa dominar, desde cedo, o controle de versão.

Duas ferramentas fundamentais são:

  • Git – o sistema de controle de versão mais usado do mundo.
  • GitHub – plataforma de hospedagem e colaboração baseada em Git.

Antes de mostrar como integrar Git e GitHub, é essencial entender por que essas ferramentas existem e como funcionam por dentro. Essa base torna qualquer profissional mais confiante e evita erros comuns do dia a dia.

O Git é um software open‑source de controle de versão, criado por Linus Torvalds (o mesmo criador do Linux). A motivação original era simples: ele precisava de um sistema rápido, eficiente e confiável para controlar versões do kernel, algo que as ferramentas da época não conseguiam oferecer.

O Git se tornou um padrão global porque é:

  • rápido
  • distribuído (cada máquina tem o repositório completo)
  • seguro (baseado em hashing)
  • simples de sincronizar com servidores remotos

Como o Git funciona?

Ao contrário de sistemas antigos que salvavam apenas diferenças entre arquivos (diffs), o Git trabalha com snapshots completos do estado dos arquivos a cada commit. Ele tira uma “foto” do projeto, mas salva novamente apenas o que mudou, graças ao hashing e à deduplicação.

Cada snapshot é um commit, formando uma linha do tempo. Isso permite um histórico rápido, seguro e fácil de navegar.

O Git é basicamente um banco de dados de objetos imutáveis, armazenados em .git/objects/. Os tipos principais são:

  1. Blob – conteúdo de um arquivo.
  2. Tree – representa diretórios, apontando para blobs e outras trees.
  3. Commit – aponta para uma tree e para seus commits pais.
  4. Tag – marcadores para commits, usados geralmente para versões.

Cada objeto é nomeado pelo hash do seu conteúdo, garantindo:

  • integridade criptográfica
  • histórico imutável
  • detecção de corrupção
  • deduplicação automática

Um branch não é uma cópia do projeto; é apenas um ponteiro para um commit. Por exemplo:

main → aponta para o commit mais recente da linha principal

Criar um branch cria um novo ponteiro; ao fazer commit em um branch, o ponteiro avança. Por isso, criar branches é barato e incentivado.

Os commits formam um grafo acíclico dirigido (DAG):

  • Cada commit aponta para seus pais.
  • Merges têm dois pais.
  • O histórico avança sempre para frente.

O Git tem uma área intermediária chamada index, onde escolhemos o que vai entrar no commit, permitindo commits mais limpos, controle granular e combinação de partes de arquivos.

O que são repositórios remotos?

Servidores como GitHub, GitLab ou Bitbucket são apenas repositórios Git adicionais hospedados na nuvem. As principais operações são:

  • git push → envia commits e atualiza referências remotas.
  • git pull → traz commits remotos e atualiza a branch local.

Merge

  • Cria um commit com dois pais.
  • Mantém histórico paralelo.

Rebase

  • Reescreve commits, mudando seus pais.
  • Produz histórico linear.
  • Gera novos hashes.

Ambos fazem parte do arsenal de um desenvolvedor moderno. O Git nunca altera commits antigos — cria novos commits. Os antigos ficam “órfãos” e podem ser removidos pelo git gc.

Resumo teórico

  • Git é um banco de dados imutável baseado em hashes.
  • Commits são snapshots.
  • Branches são ponteiros.
  • O histórico é um DAG.
  • Repositórios remotos são apenas referências extras.

GitHub

O GitHub é a maior plataforma de hospedagem de código do mundo, com milhões de repositórios. Pertence à Microsoft e oferece:

  • hospedagem de repositórios
  • issues
  • pull requests
  • workflows de CI/CD (GitHub Actions)
  • colaboração em equipe
  • interface web rica
  • apps desktop e mobile

Em resumo: Git controla seu código localmente; GitHub permite compartilhar, colaborar e publicar.

Passo a passo

1. Instale o Git

git --version

Se não estiver instalado, baixe em .

2. Configure seu nome e e‑mail

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

3. Crie um repositório local

# No diretório do seu projeto
git init
git add .
git commit -m "primeiro commit"

4. Crie um repositório no GitHub

  1. Acesse .
  2. Clique em New repository.
  3. Defina um nome.
  4. Não marque nenhum arquivo (para evitar conflitos no push inicial).

5. Conecte o repositório local ao GitHub

git remote add origin https://github.com/usuario/repositorio.git

6. Defina a branch principal como main

git branch -M main

7. Envie o projeto para o GitHub

git push -u origin main

Pronto! 🎉 Seu projeto está online.

Operações principais

git add .
git commit -m "mensagem"
git pull
git push

Problemas comuns

  1. Push rejeitado

    git pull --rebase origin main
  2. Conflitos

    • Abra os arquivos, resolva, depois:

      git add .
      git commit
  3. Autenticação falha

    • Configure chave SSH ou faça login via GitHub CLI.

Cheatsheet (comandos principais do Git)

Configuração

git config --global user.name
git config --global user.email

Inicialização

git init

Status e logs

git status
git log --oneline

Staging e commit

git add arquivo
git add .
git commit -m "mensagem"

Branches

git branch
git checkout -b nova-branch
git switch main

Merge & Rebase

git merge nome-branch
git rebase main

Sincronização com o remoto

git remote -v
git push
git pull

Clonar repositório

git clone url
Back to Blog

Related posts

Read more »