Passo 1 de 12

Mapa Interativo Git

Guia completo do básico ao avançado

Introdução ao Git

Git é um sistema de controle de versão distribuído que permite rastrear mudanças em arquivos e coordenar trabalho entre múltiplas pessoas. É fundamental para o desenvolvimento de software moderno.

Conceitos Fundamentais

Git mantém um histórico completo de todas as alterações em seu código, permitindo voltar a versões anteriores, criar ramificações paralelas e colaborar eficientemente com outros desenvolvedores.

Repositório

Diretório que contém seu projeto e todo o histórico de versões

Commit

Snapshot do seu projeto em um momento específico

Branch

Linha de desenvolvimento paralela e independente

Configuração Global

Antes de usar o Git, é importante configurar suas informações pessoais. Estas configurações serão usadas em todos os commits que você fizer.

git config –global user.name “Seu Nome”
git config –global user.email “seu@email.com”

Por que Configurar?

Cada commit no Git é assinado com o nome e email do autor. Isso é crucial para rastreabilidade e colaboração em equipe. A flag –global aplica essas configurações para todos os repositórios do seu sistema.

git config –list

Use este comando para verificar suas configurações atuais.

git init – Inicializando Repositório

O comando git init cria um novo repositório Git local. Este é sempre o primeiro passo ao começar um novo projeto com controle de versão.

git init

O que Acontece?

O git init cria uma pasta oculta .git no diretório atual, que contém toda a estrutura necessária para o controle de versão: histórico de commits, configurações, referências de branches, etc.

Estrutura Criada:

📁 meu-projeto/

📁 .git/ (pasta oculta com metadados do Git)

📁 objects/, refs/, hooks/…

git add – Preparando Arquivos

O git add move arquivos do diretório de trabalho para a staging area (área de preparação). É aqui que você decide quais mudanças farão parte do próximo commit.

git add arquivo.txt
git add .

Staging Area

A staging area é como uma “área de preparação” onde você organiza as mudanças antes de confirmar (commit). Permite commits granulares e organizados, incluindo apenas as modificações relacionadas.

Working DirectoryStaging AreaRepository

git commit – Salvando Mudanças

O git commit cria um snapshot permanente das mudanças na staging area. Cada commit é identificado por um hash único e contém uma mensagem descritiva.

git commit -m “Mensagem descritiva do commit”

Boas Práticas para Mensagens

Use o imperativo, seja conciso mas descritivo: “Adiciona validação de email”, “Corrige bug na autenticação”, “Remove código depreciado”.

Commit Hash

Identificador único SHA-1 de 40 caracteres para cada commit

Autor e Data

Informações de quem fez o commit e quando foi feito

Mensagem

Descrição clara das mudanças implementadas

git status – Verificando Estado

O git status mostra o estado atual do repositório: arquivos modificados, arquivos na staging area, arquivos não rastreados e a situação da branch atual.

git status

Interpretando o Status

Verde: arquivos na staging area (prontos para commit). Vermelho: arquivos modificados mas não adicionados. Não listados: arquivos não modificados.

Estados dos Arquivos:

📗 Staged – Prontos para commit

📕 Modified – Modificados, não staged

📙 Untracked – Não rastreados pelo Git

git log – Visualizando Histórico

O git log exibe o histórico de commits do repositório, mostrando informações detalhadas sobre cada mudança registrada no projeto.

git log
git log –oneline

Opções Úteis

–oneline: versão compacta. –graph: visualização gráfica das branches. -n 5: mostra apenas os últimos 5 commits. –author=”nome”: filtra por autor.

Hash do Commit

Identificador único para referenciá-lo

Metadados

Autor, email, data e hora do commit

Mensagem

Descrição das alterações realizadas

git remote – Conectando Repositório

Para colaborar e fazer backup do seu código, você precisa conectar seu repositório local a um repositório remoto (GitHub, GitLab, etc.).

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

Origin – Repositório Principal

“Origin” é o nome padrão dado ao repositório remoto principal. Você pode ter múltiplos remotos com nomes diferentes para diferentes propósitos.

git remote -v

Verifica os repositórios remotos configurados.

Local RepositoryoriginRemote Repository

git push – Enviando Mudanças

O git push envia seus commits locais para o repositório remoto, sincronizando seu trabalho e tornando-o disponível para outros colaboradores.

git push origin main
git push -u origin main

Flag -u (upstream)

A flag -u estabelece uma conexão de rastreamento entre sua branch local e a remota. Após configurar, você pode usar apenas “git push” nas próximas vezes.

origin

Nome do repositório remoto de destino

main

Nome da branch que está sendo enviada

Upstream

Conexão automática entre branches local e remota

git pull – Sincronizando Mudanças

O git pull baixa e integra mudanças do repositório remoto para seu repositório local. É essencial para manter-se atualizado em projetos colaborativos.

git pull origin main

Pull = Fetch + Merge

O git pull é uma combinação de git fetch (baixa mudanças) e git merge (integra mudanças). Primeiro baixa as atualizações, depois as mescla com sua branch local.

Fluxo de Sincronização:

Remote → Fetch → Local → Merge → Working Directory

git fetch

Apenas baixa mudanças sem fazer merge automático.

git branch – Gerenciando Branches

Branches permitem desenvolvimento paralelo, criando linhas independentes de desenvolvimento. Ideal para features, experimentos e correções sem afetar o código principal.

git branch feature/nova-funcionalidade
git checkout feature/nova-funcionalidade

Estratégia de Branches

main/master: código principal estável. feature/*: novas funcionalidades. hotfix/*: correções urgentes. develop: integração de features antes do main.

main

feature
git branch -d feature/nome

Deleta branch após merge.

Fluxo Completo de Trabalho

Agora você conhece todos os comandos fundamentais. Aqui está um resumo do fluxo típico de trabalho com Git para consolidar seu conhecimento.

1. Configuração Inicial

git config, git init, git remote add

2. Trabalho Diário

git add, git commit, git status

3. Sincronização

git push, git pull, git fetch

4. Colaboração

git branch, git merge, git log

Próximos Passos

Continue praticando com projetos reais. Explore comandos avançados como rebase, stash, reset. Aprenda sobre GitFlow e boas práticas de commit. O Git tem muito mais recursos para descobrir!

Parabéns! Você completou o Mapa Interativo Git!

Agora você tem uma base sólida para usar Git em seus projetos.