image

Accede a bootcamps ilimitados y a más de 650 cursos

50
%OFF
Article image
Edmundo Batista
Edmundo Batista04/11/2025 21:39
Compartir

Criar Repositório e versionar Código com Git e Github

    🚀 Aula Completa: Git e GitHub para Iniciantes (Do Zero à Entrega do Projeto)

    Módulo 1: Entendendo o Conceito de Versionamento

    💡 O que é Git?

    O Git é um Sistema de Controle de Versão Distribuído (DVCS). Pense nele como uma máquina do tempo superpoderosa para o seu código.

    • Para que serve? Ele registra todas as modificações que você faz em seus arquivos ao longo do tempo.
    • Vantagem Principal: Você pode voltar a qualquer versão anterior do seu projeto, descobrir quem fez qual alteração e quando. Essencial para trabalhar em equipe e para a segurança dos seus projetos.

    🌐 O que é GitHub?

    O GitHub é a plataforma de hospedagem mais popular para repositórios Git.

    • Para que serve? É a "nuvem" onde seu projeto Git é armazenado. Ele permite que você:
    • Compartilhe seu código publicamente (como um portfólio).
    • Colabore com outras pessoas.
    • Faça backup seguro do seu projeto.
    • Relação Git vs. GitHub: Git é a ferramenta que você instala e usa no seu computador. GitHub é o serviço online que armazena cópias do seu projeto Git.

    Módulo 2: Instalação e Configuração do Git

    💻 2.1. Instalação do Git em Diferentes Sistemas Operacionais

    🪟 Windows:

    1. Acesse o site oficial: https://git-scm.com/downloads.
    2. Clique no ícone do Windows para baixar o instalador mais recente.
    3. Execute o arquivo baixado (.exe).
    4. Na maioria das telas de instalação, você pode simplesmente clicar em "Next" (Próximo) e manter as configurações padrão, pois elas são adequadas para iniciantes.
    5. Opcional, mas recomendado: Marque a opção para usar o Git a partir do Prompt de Comando ou PowerShell.
    6. Ao final, clique em "Finish" (Concluir).

    🍎 macOS:

    • Opção mais fácil: O Git geralmente já vem instalado com as ferramentas de linha de comando do Xcode. Abra o Terminal e digite git --version. Se não estiver instalado, o sistema operacional pode pedir para instalá-lo automaticamente.
    • Instalador alternativo: Você também pode usar o instalador do site oficial (o mesmo do Windows) ou o gerenciador de pacotes Homebrew (se já o tiver instalado):
    • Bash

    brew install git
    

    🐧 Linux (Distribuições Baseadas em Debian, como Ubuntu):

    1. Abra o Terminal (Ctrl+Alt+T).
    2. Atualize a lista de pacotes:
    3. Bash

    sudo apt update
    
    1. Instale o Git:
    2. Bash

    sudo apt install git
    

    ✅ 2.2. Verificação da Instalação

    Após a instalação, abra o Terminal (Linux/Mac) ou o Git Bash (Windows, um terminal que vem com a instalação do Git) e digite:

    Bash

    git --version
    

    Se a instalação foi bem-sucedida, você verá a versão do Git instalada (ex: git version 2.42.0).

    ✍️ 2.3. Configuração Inicial (Sua "Assinatura")

    Antes de começar a usar o Git, você precisa informar seu nome e e-mail. Essa informação será anexada a todos os seus commits (salvamentos) e é crucial para identificar quem fez as alterações.

    • Configurando seu Nome (Use o nome que deseja que apareça no GitHub):
    • Bash

    git config --global user.name "Seu Nome Completo"
    
    • Configurando seu E-mail (Use o mesmo e-mail que usará no GitHub):
    • Bash

    git config --global user.email "seuemail@exemplo.com"
    
    Importante: O parâmetro --global significa que essa configuração será usada em todos os seus projetos Git nesse computador.

    Módulo 3: Seus Primeiros Passos com Git

    📁 3.1. Organização de Pastas

    Para qualquer projeto, a organização é chave. Crie uma pasta raiz para o seu projeto, onde estarão todos os seus arquivos de código, imagens, documentos, etc.

    • Exemplo de Estrutura:
    MeuProjetoDeEntrega/
    ├── index.html
    ├── style.css
    ├── script.js
    └── imagens/
      └── logo.png
    

    🎯 3.2. Os Comandos Principais do Git

    Vamos usar o Terminal/Git Bash para estes exemplos.

    Passo 1: Inicializar o Repositório Local

    Vá para a pasta raiz do seu projeto (no Terminal) e inicie o Git nela.

    Bash

    # Navegue até a pasta do seu projeto
    cd /caminho/para/MeuProjetoDeEntrega
    
    # Inicialize o repositório Git
    git init
    
    • O que isso faz? Cria uma pasta oculta chamada .git dentro do seu projeto. É ali que o Git vai guardar todo o histórico de versões. Sua pasta de projeto agora é um Repositório Git Local.

    Passo 2: Verificar o Status

    A qualquer momento, você pode ver o que o Git está rastreando ou não.

    Bash

    git status
    
    • O que ele mostra? No início, ele listará seus arquivos de projeto em vermelho, indicando que eles estão "não rastreados" (untracked).

    Passo 3: Adicionar Arquivos para Rastreamento (Staging Area)

    Antes de salvar uma versão, você precisa dizer ao Git quais arquivos você quer incluir nesse salvamento. Chamamos isso de adicionar à Staging Area (Área de Preparação).

    Bash

    # Adicionar um arquivo específico:
    git add index.html
    
    # ADICIONAR TODOS os arquivos novos e modificados:
    git add .
    
    • O que isso faz? Move os arquivos da área "Não Rastreada" para a Staging Area. Se você rodar git status agora, os arquivos estarão em verde, prontos para o commit.

    Passo 4: Fazer o Commit (Salvar a Versão)

    O commit é o "salvamento" de uma versão. Ele registra o instantâneo dos arquivos que estão na Staging Area.

    Bash

    git commit -m "Mensagem clara e objetiva do que foi feito"
    
    • Exemplo prático:
    • Bash

    git commit -m "Criacao da estrutura basica HTML e CSS inicial"
    
    • O que isso faz? Salva o instantâneo (a versão) do seu projeto no repositório local. A mensagem (-m) é crucial para que você e outros saibam o que foi feito.

    Passo 5: Visualizar o Histórico

    Para ver todos os commits que você já fez, use:

    Bash

    git log
    
    • O que ele mostra? Uma lista cronológica de commits, mostrando o hash (código de identificação), o autor, a data e a mensagem.
    • Para sair da visualização do git log, pressione a tecla Q.

    Módulo 4: Usando o GitHub (A "Nuvem" do seu Projeto)

    Agora que você sabe o básico do Git no seu PC, é hora de colocá-lo na nuvem!

    👤 4.1. Criando sua Conta no GitHub

    1. Acesse https://github.com/.
    2. Clique em "Sign up" (Cadastrar-se) e siga as instruções para criar sua conta gratuita.
    3. Escolha um Nome de Usuário memorável e profissional.
    4. Use o mesmo e-mail que você configurou no Git (git config --global user.email ...).

    📦 4.2. Criando um Novo Repositório Remoto

    O repositório remoto é o local de armazenamento na nuvem.

    1. Faça login no GitHub.
    2. No canto superior direito, clique no ícone + e selecione "New repository" (Novo repositório).
    3. Repository name (Nome do Repositório): Use um nome que reflita seu projeto (ex: projeto-site-pessoal, entrega-modulo-1). Use hífens ( - ) em vez de espaços.
    4. Description (Descrição): Opcional, mas altamente recomendado (ex: "Primeira entrega do curso de Web Design").
    5. Public/Private (Público/Privado):
    • Público (Public): Qualquer pessoa pode ver seu código. Escolha essa opção para projetos de entrega/portfólio.
    • Privado (Private): Só você e as pessoas que você convidar podem ver.
    1. Não marque a opção "Add a README file" se você já tem um projeto local.
    2. Clique em "Create repository" (Criar repositório).

    🔗 4.3. Conectando o Repositório Local ao Remoto

    Após criar o repositório no GitHub, a tela seguinte mostrará instruções. Vamos usar os comandos da seção "...ou faça push de um repositório existente a partir da linha de comando".

    Passo 1: Adicionar o Repositório Remoto

    Você precisa dizer ao seu Git local onde o repositório remoto está. O nome origin é uma convenção para o repositório principal.

    Bash

    # Substitua o link pelo link do SEU repositório que o GitHub forneceu (começa com https://)
    git remote add origin https://github.com/SEU_USUARIO/SEU_REPOSITORIO.git 
    

    Passo 2: Definir o nome da Branch Principal

    Por padrão, o Git usa master, mas o GitHub usa main. Altere sua branch local para corresponder ao remoto:

    Bash

    git branch -M main
    

    Passo 3: Enviar (Push) o Projeto para o GitHub

    Este é o comando que pega todos os seus commits locais e os envia para o GitHub.

    Bash

    git push -u origin main
    
    • Você provavelmente será solicitado a fazer login na sua conta GitHub (use seu nome de usuário e senha/Token de Acesso Pessoal).
    • O que isso faz? O código do seu projeto local agora está na nuvem.

    Módulo 5: Seu Fluxo de Trabalho Diário (Repetindo o Ciclo)

    O desenvolvimento de software é um ciclo contínuo. Você fará alterações, salvará no Git e enviará para o GitHub.

    AçãoComandoExplicação1. Fazer Alterações(Edite seus arquivos de código)Crie um novo arquivo, corrija um bug, adicione uma funcionalidade.2. Verificar Statusgit statusVeja quais arquivos foram modificados.3. Preparargit add .Mova todas as alterações para a Staging Area.4. Salvar (Commit)git commit -m "Nova feature de menu responsivo"Crie um novo ponto de salvamento na história.5. Enviar (Push)git push origin mainEnvie o novo commit para o GitHub (o remoto).

    Dica de Ouro: Faça commits pequenos e frequentes com mensagens claras. É melhor ter 10 commits com mensagens específicas ("Correção de typo no README", "Ajuste de margem no CSS") do que um único commit gigante no final.

    Módulo 6: O Link de Entrega (A Missão Final)

    O objetivo principal, para a sua escola, é obter o link que comprova o seu trabalho.

    📋 6.1. Como Obter o Link do Repositório

    1. Vá para a página do seu projeto no GitHub (ex: https://github.com/SEU_USUARIO/SEU_REPOSITORIO).
    2. Certifique-se de que seus arquivos estão lá (você deve ver index.html, style.css, etc.).
    3. Copie a URL completa da barra de endereço do seu navegador.
    Exemplo do Link que deve ser colado: https://github.com/seu-usuario/nome-do-seu-projeto

    🎉 Conclusão: Você Está Afiado(a)!

    Parabéns! Você acaba de dominar os conceitos e as ferramentas que são o padrão da indústria para versionamento de código. Você sabe instalar o Git, salvar versões de forma inteligente, usar a plataforma GitHub e, o mais importante, obter o link do seu trabalho para as entregas!

    ⚔️ Guia Rápido: Lidando com Conflitos de Merge no Git

    1. Entendendo o Conflito de Merge

    O que é?

    Um conflito de merge acontece quando duas ou mais alterações no código modificam a mesma linha no mesmo arquivo em diferentes branches (ramificações) ou por diferentes pessoas.

    O Git é inteligente, mas não consegue decidir qual alteração deve prevalecer. Quando isso ocorre, ele para a operação de merge ou pull e pede que você, o desenvolvedor, resolva manualmente.

    Cenário Comum de Conflito:

    1. João altera a linha 10 do arquivo style.css para color: blue;.
    2. Maria (ou você em outra branch) altera a mesma linha 10 do arquivo style.css para color: red;.
    3. Quando o Git tenta juntar o trabalho de João e Maria, ele encontra um conflito.

    2. Como o Conflito se Apresenta

    Quando você tenta fazer um git pull ou git merge e ocorre um conflito, o Git informa:

    Auto-merging [nome-do-arquivo]
    CONFLICT (content): Merge conflict in [nome-do-arquivo]
    Automatic merge failed; fix conflicts and then commit the result.
    

    O arquivo em conflito ficará marcado com delimitadores especiais. É aqui que você precisa intervir com seu editor de código.

    Exemplo em um Arquivo (Ex: index.html):

    HTML

    <p class="intro">
    <<<<<<< HEAD
      Esta é a versao que está na branch atual (main ou outra).
    =======
      Esta é a versao que veio do merge (branch feature/nova-funcionalidade).
    >>>>>>> feature/nova-funcionalidade
    </p>
    

    Os delimitadores que você precisa procurar são:

    • <<<<<<< HEAD: Marca o início do conflito. O código abaixo disso é a sua versão (o que está na sua branch atual, que geralmente é a main).
    • =======: Serve como separador entre as duas versões conflitantes.
    • >>>>>>> [nome-da-branch]: Marca o final da outra versão (a versão que você está tentando trazer).

    3. Os Passos para Resolver um Conflito

    Siga este procedimento passo a passo no seu Terminal/Git Bash e no seu editor de código:

    Passo 1: Abrir o Arquivo Conflitante

    Abra o arquivo que o Git indicou como tendo conflito (você também pode ver quais são rodando git status).

    Passo 2: Editar e Decidir

    Dentro do arquivo, você deve remover todos os delimitadores (<<<<<<< HEAD, =======, >>>>>>> ...) e manter APENAS o código final que você deseja.

    Escolha 1: Manter APENAS a sua versão (HEAD):

    HTML

    <p class="intro">
      Esta é a versao que está na branch atual (main ou outra).
    </p>
    

    Escolha 2: Manter APENAS a versão que está entrando:

    HTML

    <p class="intro">
      Esta é a versao que veio do merge (branch feature/nova-funcionalidade).
    </p>
    

    Escolha 3: Combinar as duas versões (o mais comum):

    HTML

    <p class="intro">
      Esta é a versao final combinada e correta.
    </p>
    
    Dica: Muitos editores de código (VS Code, Sublime Text) têm ferramentas visuais que facilitam a aceitação de "Incoming" (Versão Entrando) ou "Current" (Sua Versão) com um clique.

    Passo 3: Marcar o Conflito como Resolvido

    Depois de editar o arquivo, salvá-lo e remover todos os delimitadores de conflito, você precisa informar ao Git que o conflito foi resolvido.

    Bash

    # Adicione o(s) arquivo(s) resolvido(s) à Staging Area
    git add [nome-do-arquivo-resolvido]
    # Exemplo: git add index.html
    

    Se você tiver vários arquivos em conflito, adicione-os um por um, ou todos de uma vez: git add .

    Passo 4: Finalizar o Commit de Merge

    Como a operação de merge foi interrompida, você deve finalizá-la com um commit especial de merge.

    Bash

    git commit
    
    • O que acontece? O Git abrirá um editor de texto (pode ser o nano ou vim no Terminal) com uma mensagem de commit pré-preenchida (ex: Merge branch 'feature/nova-funcionalidade').
    • O que fazer? Você pode simplesmente salvar e fechar (o padrão é excelente), ou editar a mensagem para incluir a nota "Conflitos resolvidos manualmente".

    Uma vez que você salva e fecha o editor de commit, o merge está completo e o conflito foi resolvido!

    4. O Comportamento dos Comandos

    ComandoAntes do ConflitoSe Ocorrer Conflitogit pullBaixa e faz merge das alterações remotas.Para, exige que você resolva, e depois finalize com git commit.git merge [branch]Faz a fusão das branches.Para, exige que você resolva, e depois finalize com git commit.

    Com esse guia, você tem a estrutura necessária para enfrentar e resolver conflitos de merge com confiança!

    O que são Branches e como usá-las

    Perfeito! O conceito de Branches é o que realmente permite que o Git brilhe, especialmente em projetos maiores ou quando se trabalha em equipe.

    Aqui está um mini-guia completo sobre o que são as ramificações e como usá-las para desenvolver funcionalidades com segurança.

    🌳 Mini-Guia Avançado: Dominando Branches (Ramificações)

    1. O que são Branches?

    Pense em uma branch (ramificação) como uma linha de desenvolvimento independente do seu projeto.

    • A Branch Principal (main ou master): É a linha de código principal e estável. Idealmente, o código aqui deve sempre estar pronto para ser entregue ou implantado.
    • Branches de Funcionalidade (feature): São linhas temporárias que você cria para adicionar uma nova funcionalidade, corrigir um bug, ou experimentar algo novo, sem afetar o código principal.
    Analogia: Imagine a main como a rua principal onde o trânsito flui. Uma branch é uma rua lateral onde você pode construir uma casa (nova funcionalidade). Se a casa der certo, você a anexa à rua principal. Se der errado, você simplesmente demole a casa na rua lateral sem atrapalhar o trânsito.

    2. O Fluxo de Trabalho Básico com Branches

    O fluxo padrão, recomendado para qualquer projeto, segue estes 4 passos: Criar → Trabalhar → Mesclar → Excluir.

    Passo 1: Criar uma Nova Branch

    Antes de iniciar qualquer trabalho novo, crie uma branch e mude para ela.

    a) Criar a Branch

    Bash

    git branch nome-da-nova-branch
    

    Exemplo:

    Bash

    git branch feature/cadastro-de-usuarios
    

    O que faz? Cria um novo ponteiro (a branch) que aponta para o seu último commit na branch atual.

    b) Mudar para a Nova Branch (Checkout)

    Você precisa "entrar" na nova linha de desenvolvimento para começar a trabalhar nela.

    Bash

    git checkout nome-da-nova-branch
    

    Exemplo:

    Bash

    git checkout feature/cadastro-de-usuarios
    

    O que faz? Altera o seu diretório de trabalho para usar o código daquela branch.

    Comando Combinado (Mais Rápido): Você pode criar e mudar para a branch de uma vez só usando a flag -b:
    Bash

    git checkout -b feature/cadastro-de-usuarios
    

    Passo 2: Trabalhar e Commitar

    Dentro da sua nova branch, você trabalha normalmente.

    1. Faça alterações no código (crie arquivos, edite, etc.).
    2. Salve as alterações usando o fluxo que já aprendeu:
    3. Bash

    git add .
    git commit -m "Implementacao do formulario de cadastro inicial"
    

    O que faz? Os commits são salvos apenas na branch feature/cadastro-de-usuarios. A branch main não é alterada.

    Passo 3: Voltar para a Branch Principal e Mesclar (Merge)

    Quando o trabalho na sua branch de funcionalidade estiver completo, testado e pronto para ser integrado ao projeto principal:

    a) Volte para a Branch Principal

    Bash

    git checkout main
    

    O que faz? Seu diretório de trabalho volta para o estado do último commit da main. (Você pode notar que o novo código da funcionalidade sumiu temporariamente, pois ele está na outra branch.)

    b) Mescle a Nova Branch na Principal

    Bash

    git merge feature/cadastro-de-usuarios
    

    O que faz? O Git pega todos os commits da branch de funcionalidade e os aplica sequencialmente na branch main.

    • Se houver conflitos: Você precisará resolvê-los usando o processo do guia anterior.
    • Se não houver conflitos: A fusão é feita automaticamente.

    Passo 4: Excluir a Branch (Limpeza)

    Uma vez que a funcionalidade foi mesclada com sucesso na main, a branch temporária não é mais necessária.

    Bash

    # Excluir a branch localmente
    git branch -d feature/cadastro-de-usuarios
    

    O que faz? Remove o ponteiro da branch, mantendo o histórico de commits intacto dentro da main.

    Dica: Use o -D (maiúsculo) em vez de -d (minúsculo) se o Git se recusar a excluir a branch porque ela ainda não foi mesclada.

    3. Comandos Úteis Adicionais

    ComandoDescriçãogit branchLista todas as branches locais. A branch atual é marcada com um asterisco (*).git branch -rLista todas as branches remotas (no GitHub).git branch -aLista todas as branches (locais e remotas).git push origin -d nome-da-branchExclui uma branch remota no GitHub (após mesclar).

    Com o uso de branches, você pode trabalhar em diversas funcionalidades ao mesmo tempo, sem quebrar o código principal, e até mesmo começar a usar o recurso de Pull Requests (ou Merge Requests) no GitHub para revisão de código.

    Compartir
    Recomendado para ti
    Binance - Blockchain Developer with Solidity 2025
    Neo4J - Análise de Dados com Grafos
    Cognizant - Mobile Developer
    Comentarios (1)

    KF

    Keite Ferreira - 04/11/2025 22:20

    Muito útil. Gostei, parabéns pelo trabalho.