Introdução

O Git é um sistema de controle de versão distribuído, criado por Linus Torvalds em 2005. Ele permite que diversos desenvolvedores trabalhem em um mesmo projeto, controlando as alterações realizadas nos arquivos e permitindo que versões anteriores possam ser recuperadas com facilidade. Com o Git, é possível colaborar com segurança e rastrear qualquer modificação feita ao longo do tempo.

Imagem ilustrativa Git Bash
DICA

Para Windows: uma dica importante é baixar o Git diretamente do site oficial. Isso permitirá utilizar o Git Bash, uma ferramenta de linha de comando onde serão executados os comandos listados neste guia.

Baixar Git para Windows

Conceitos Fundamentais

Usando o Git no Git Bash

1. Configuração Inicial

Antes de começar a usar o Git, é importante configurar seu nome e e-mail. Essas informações serão associadas a cada commit que você fizer.

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

O parâmetro --global garante que essas configurações se apliquem a todos os repositórios do seu usuário. Você só precisa configurá-las uma vez.

2. Criando um Repositório Local

Para iniciar um projeto com controle de versão do Git, você deve primeiro criar a pasta do projeto, acessar a pasta via terminal e inicializar o repositório:

mkdir meu_projeto_git
cd meu_projeto_git
git init

O comando mkdir cria a pasta do projeto. Em seguida, com cd, você acessa essa pasta. O comando git init cria a pasta oculta .git, que armazena todo o histórico e metadados do repositório.

3. Iniciando um Repositório

Para criar um novo repositório local em um projeto existente: navegue até a pasta do seu projeto pelo terminal e digite:

git init

Isso cria uma subpasta oculta chamada .git que contém toda a estrutura e o histórico do seu repositório.

4. Clonando um Repositório

Para clonar um repositório remoto existente: copie a URL do repositório remoto (ex: do GitHub) e use o comando abaixo no terminal:

git clone https://github.com/usuario/repositorio.git

Esse comando cria uma cópia completa do repositório remoto em sua máquina local, incluindo todo o histórico de versões.

5. Verificar o Estado dos Arquivos

Depois de fazer alterações nos arquivos do seu projeto, é importante verificar o que foi modificado, adicionado ou removido antes de fazer um commit. Para isso, utilize:

git status

Esse comando exibe o estado atual da árvore de trabalho, mostrando quais arquivos foram modificados, adicionados ou ainda não estão sob controle do Git.

6. Verificando Suas Configurações

Você pode verificar suas configurações atuais do Git a qualquer momento com:

git config --list

Esse comando exibe todas as configurações globais e locais ativas, como nome, e-mail, editor padrão, entre outras opções configuradas.

7. Verificar o Estado dos Arquivos

Depois de fazer alterações nos arquivos do seu projeto, é importante verificar o que foi modificado, criado ou removido. Para isso, use o comando:

git status

Esse comando exibe o estado atual da árvore de trabalho, mostrando os arquivos que foram modificados mas ainda não estão preparados (staged) e aqueles prontos para serem confirmados com um commit.

Ciclo Básico: add e commit

Etapa 1: git add

Após verificar as alterações com git status, você precisa informar ao Git quais arquivos devem ser incluídos no próximo commit. Para isso, use o comando:

git add nome-do-arquivo.ext

Isso adiciona o arquivo à "área de preparação" (staging area). Se quiser adicionar todos os arquivos modificados, use:

git add .

⚠️ Atenção: o uso de git add . adiciona **todos os arquivos modificados**, inclusive temporários ou não intencionais. Revise com git status antes de confirmar.

Etapa 2: git commit

Após adicionar os arquivos à área de preparação, você deve realizar um commit para registrar oficialmente as mudanças:

git commit -m "Mensagem explicando a alteração"

A mensagem deve ser clara e descritiva, indicando o que foi alterado, adicionado ou corrigido. Por exemplo:

git commit -m "Corrige bug na função de login"

📌 O commit cria um ponto no histórico do projeto, permitindo voltar a esse estado no futuro, se necessário.

Resumo: O ciclo básico do Git envolve verificar o estado (git status), adicionar arquivos (git add) e registrar alterações (git commit). Esse processo garante controle, histórico e rastreabilidade no seu projeto.
Adicionar Todos os Arquivos

Para adicionar todos os arquivos que foram modificados, criados ou removidos (inclusive exclusões), você pode usar o comando:

git add -A

Esse comando é mais abrangente do que git add ., pois também registra arquivos deletados. É ideal para preparar completamente o estado atual do seu projeto para um commit.

⚠️ Use com atenção! Certifique-se de revisar o que será incluído no commit com git status antes de usar git add -A.

Formatos Úteis de Exibição de Logs

O comando git log pode ser customizado para facilitar a visualização do histórico de commits. Abaixo estão alguns formatos muito utilizados:

Log Simples em Uma Linha

Exibe cada commit em uma única linha, com o hash abreviado e a mensagem de commit. Ideal para ter uma visão geral rápida:

git log --oneline
Log com Gráfico de Branches

Mostra a estrutura do histórico com ramificações (branches), facilitando a visualização de merges e bifurcações:

git log --oneline --graph --all
Log com Patches de Alterações

Exibe, além das informações dos commits, o conteúdo alterado em cada um (semelhante ao comando diff):

git log -p
Dica: Combine opções do git log para ajustar a visualização de acordo com sua necessidade (ex: git log --author="Seu Nome" --since="2 weeks ago").

Trabalhando com Branchs

O que são Branchs?

Uma branch (ou ramificação) é como uma linha paralela de desenvolvimento dentro de um projeto Git. Ela permite que você trabalhe em novas funcionalidades, correções ou testes de forma isolada, sem interferir no código principal (geralmente a main).

Você pode criar quantas branches quiser, fazer alterações nelas, e depois mesclar (merge) essas mudanças à branch principal quando estiver pronto.

Essa abordagem facilita o trabalho em equipe, permite testes seguros e organiza melhor o fluxo de desenvolvimento.

Dica: Crie uma branch para cada funcionalidade nova ou correção. Assim, seu código principal sempre permanecerá estável.
Criar uma nova branch

Branches permitem trabalhar em funcionalidades de forma isolada, sem afetar o código principal. Para criar uma nova branch:

git branch nome-da-branch
Alternar entre branches

Após criar uma branch, você pode alternar para ela usando:

git checkout nome-da-branch

Ou crie e mude de branch em um único comando:

git checkout -b nome-da-branch
Mesclar (merge) uma branch

Após concluir o trabalho em uma branch, você pode unificá-la com a branch principal:

git checkout main
git merge nome-da-branch

Isso aplicará as alterações da sua branch secundária dentro da branch principal.

Listar todas as branches
git branch

A branch atual estará marcada com um asterisco (*). Branches remotas também podem ser listadas com:

git branch -r
Dica: Use branches para manter o código organizado, facilitar revisões e permitir múltiplas versões do projeto sem conflitos.

Quiz

1. O que é um commit no Git?

2. Qual comando cria um novo repositório Git?

3. O que faz o comando git clone?

4. Qual a função da branch em um repositório?