1 / 10
Modulo 4 / Git e GitHub

Conceitos de Versionamento

Instalação e configuração do Git.

school Aula 18 schedule 2 horas

Motivação

Por que versionar?

close Sem versionamento

projeto-final.zip
projeto-final-v2.zip
projeto-final-v2-corrigido.zip
projeto-final-DEFINITIVO.zip
projeto-final-DEFINITIVO-2.zip
projeto-final-agora-vai.zip
  • Impossível saber o que mudou entre versões
  • Difícil voltar a um estado anterior
  • Caos ao trabalhar em equipe

check Com Git

commit abc1234
"Corrige validação do formulário"
commit def5678
"Adiciona página de contato"
commit ghi9012
"Refatora estilos do header"
  • Histórico completo de todas as mudanças
  • Voltar a qualquer ponto com um comando
  • Colaboração organizada

Conceito

O que é o Git?

commit Sistema de controle de versão

  • Criado por Linus Torvalds em 2005 (mesmo criador do Linux)
  • Sistema distribuído: cada desenvolvedor tem uma cópia completa
  • Gratuito e open source
  • Padrão da indústria para controle de versão

difference Git vs GitHub

Git

Ferramenta de linha de comando que roda localmente no seu computador. Gerencia o histórico de versões.

GitHub

Plataforma web que hospeda repositórios Git na nuvem. Facilita a colaboração entre desenvolvedores.

lightbulb Git é a ferramenta, GitHub é o serviço. Existem alternativas ao GitHub como GitLab e Bitbucket.

Setup

Instalando o Git

desktop_windows Windows

  1. Acesse git-scm.com
  2. Baixe o instalador para Windows
  3. Execute e siga as opções padrão
  4. Abra o Git Bash para usar

laptop_mac macOS

  1. Abra o Terminal
  2. Digite git --version
  3. Se nao tiver, instale via Xcode Command Line Tools
  4. Ou use brew install git

terminal Linux

  1. Abra o Terminal
  2. Ubuntu/Debian: sudo apt install git
  3. Fedora: sudo dnf install git
  4. Verifique: git --version

verified Verificando a instalação

$ git --version git version 2.43.0

Primeiro uso

Configuração inicial

person Identidade (obrigatório)

# Seu nome (aparece nos commits) $ git config --global user.name "Seu Nome" # Seu email (mesmo do GitHub) $ git config --global user.email "seu@email.com"
lightbulb A flag --global aplica a configuração para todos os repositórios. Sem ela, vale apenas para o repositório atual.

settings Outras configurações úteis

# Editor de texto padrão $ git config --global core.editor "code --wait" # Nome da branch principal $ git config --global init.defaultBranch "main" # Verificar todas as configurações $ git config --list

Começando

Criando um repositório

create_new_folder git init

# Criar a pasta do projeto $ mkdir meu-projeto $ cd meu-projeto # Inicializar o repositório Git $ git init Initialized empty Git repository in /home/user/meu-projeto/.git/
lightbulb O comando git init cria uma pasta oculta .git que armazena todo o histórico de versões.

visibility git status

$ git status On branch main No commits yet Untracked files: (use "git add ..." to include in what will be committed) index.html style.css nothing added to commit
lightbulb Use git status frequentemente para entender o estado dos seus arquivos.

Fluxo de trabalho

Os 3 estados do Git

edit_document

Working Directory

Seus arquivos no estado atual. Modificações que ainda nao foram preparadas para commit.

Modificado
inventory_2

Staging Area

Área de preparação. Arquivos marcados com git add prontos para o próximo commit.

Preparado (staged)
check_circle

Repository (.git)

O histórico salvo. Cada commit é um snapshot permanente do projeto naquele momento.

Commitado
Working Dir git add Staging git commit Repository

Na prática

Primeiro commit

upload_file git add

# Adicionar um arquivo específico $ git add index.html # Adicionar todos os arquivos modificados $ git add . # Ver o que foi adicionado $ git status Changes to be committed: new file: index.html new file: style.css

save git commit

# Salvar no histórico com mensagem $ git commit -m "Adiciona estrutura inicial do site" [main (root-commit) abc1234] Adiciona estrutura inicial do site 2 files changed, 45 insertions(+) # Ver o histórico $ git log --oneline abc1234 Adiciona estrutura inicial
lightbulb A flag -m permite escrever a mensagem diretamente. Sem ela, o Git abre o editor de texto.

Hora de praticar

Exercício prático

rocket_launch Configurar Git e fazer o primeiro commit

  1. Instale o Git no seu computador e verifique com git --version
  2. Configure seu nome e email com git config --global
  3. Crie uma pasta chamada meu-site e entre nela
  4. Inicialize um repositório com git init
  5. Crie um arquivo index.html com uma estrutura HTML básica
  6. Use git status para ver os arquivos nao rastreados
  7. Adicione com git add . e faça o commit com uma mensagem descritiva
  8. Use git log para verificar o commit
lightbulb Desafio extra: adicione um arquivo style.css e faça um segundo commit. Compare os dois commits com git log.
Próxima aula

Aula 19

Commits, branches, merge e resolução de conflitos.

task_alt O que aprendemos hoje

  • check_circle Por que o versionamento é essencial em projetos
  • check_circle O que é o Git e a diferença entre Git e GitHub
  • check_circle Instalação e configuração inicial do Git
  • check_circle Os 3 estados: Working Directory, Staging Area e Repository
  • check_circle Comandos git init, git add, git commit e git log
Próxima aula
auto_stories Referência: Pro Git Book (PT-BR)
Leandro Medeiros