kb.erickguedes.com
Git Completo: do Básico à Certificação

Ciclo de Vida dos Arquivos e .gitignore

Aula 4 de 12

Estados de um Arquivo no Git

Untracked (não rastreado)
     │
     ▼  git add
Staged (preparado)
     │
     ▼  git commit
Unmodified (não modificado)
     │
     ▼  edição
Modified (modificado)
     │
     ▼  git add
Staged (preparado)
     │
     ▼  git commit
Unmodified (não modificado) ─── ciclo recomeça

Comandos do Ciclo de Vida

# Ver estado atual
git status

# Adicionar arquivo específico ao stage
git add arquivo.txt

# Adicionar tudo (cuidado!)
git add .

# Adicionar interativamente
git add -p

# Remover do stage (mas manter no working directory)
git restore --staged arquivo.txt

# Remover do stage + working directory
git rm arquivo.txt

# Mover/renomear
git mv velho.txt novo.txt

.gitignore

Arquivo que lista padrões de arquivos que o Git deve ignorar.

# Dependências
node_modules/
vendor/

# Build
dist/
build/
*.exe
*.dll

# Ambiente
.env
.env.local

# IDE e Sistema
.vscode/
.idea/
*.swp
*.swo
.DS_Store
Thumbs.db

# Logs
*.log

Boas práticas:

  • Commite o .gitignore cedo, antes de adicionar arquivos indesejados
  • Use templates prontos: github.com/github/gitignore
  • Se já commitou algo que deveria ser ignorado, use git rm --cached
# Remover do controle de versão sem apagar do disco
git rm --cached arquivo-indesejado.env

git rm vs git restore

ComandoEfeito
git rm fileRemove do disco + stage
git rm --cached fileRemove só do stage (mantém no disco)
git restore fileDescarta mudanças no working directory
git restore --staged fileTira do stage (unstage)

O .gitignore é seu aliado. Mantenha o repositório limpo — só o que é essencial para o projeto.