Git Pie: A Arte Ancestral do Versionamento 🥧 Help

Fluxo de Trabalho do Git

Iniciando um Repositório

Devemos usar o comando abaixo para iniciar o repositório para que o Git consiga ver os arquivos.

md MilfsGo # Cria a pasta cd MilfsGo # acessa a pasta git init

Ciclo de Vida dos Arquivos

Estados dos Arquivos

Novo arquivo

git add

git commit

Edição

git add

Untracked

Staged

Committed

Modified

Áreas do Git

git add

git commit

git checkout

Working Directory

Staging Area

Repository

Fazendo Alterações

Agora vamos fazer alterações básicas como adicionar um README para o projeto.

Criando README

# Criar e editar README echo "# MilfsGo" > README.md echo "Projeto para encontrar milfs na sua região" >> README.md

Adicionando ao Stage

# Adicionar arquivo específico git add README.md # Adicionar todos os arquivos git add .

Verificando Status

git status

Commits

Anatomia de um Bom Commit

CommitTipoEscopoMensagemfeatfixdocsloginperfilbuscaClaraConcisaDescritiva

Padrões de Commit

# Commits semânticos git commit -m "feat: adiciona sistema de busca" git commit -m "fix: corrige bug no filtro de idade" git commit -m "docs: atualiza documentação de instalação"

Branches

Fluxo de Branches

mainfeature/buscafeature/chat0-c5409451-68c7e4a2-e4fcb2f4-aeb655a5-2dc2249

Comandos de Branch

# Criar e mudar de branch git checkout -b feature/nova-busca # Listar branches git branch # Mudar de branch git checkout main # Deletar branch git branch -d feature/antiga

Sincronização com Remoto

Configurando Remoto

# Adicionar remoto git remote add origin https://github.com/user/MilfsGo.git # Verificar remotos git remote -v

Push e Pull

RemoteLocalRemoteLocalMantendo sincronizadogit pushgit pull
# Enviar alterações git push origin main # Buscar alterações git pull origin main

Resolução de Conflitos

Tipos de Conflitos

<<<<<<< HEAD Sua versão ======= Versão remota >>>>>>> branch-name

Resolvendo Conflitos

Abrir Arquivo

Escolher Versão

Marcar Resolvido

Finalizar

Conflito Detectado

Editar Conflito

Salvar

git add

git commit

Stash

Salvando Trabalho Temporário

# Guardar alterações git stash # Listar stashes git stash list # Recuperar alterações git stash pop

Fluxo com Stash

BranchStashWorking DirBranchStashWorking Dirgit stashgit checkout othertrabalhogit stash pop

Tags

Versionamento

# Criar tag git tag -a v1.0.0 -m "Primeira versão estável" # Listar tags git tag # Publicar tags git push origin --tags

Estrutura de Tags

TagsReleaseBetaRCv1.0.0v1.1.0v0.9.0-betav1.0.0-rc1

Logs e Histórico

Visualizando Histórico

# Log básico git log # Log formatado git log --oneline --graph --decorate # Log específico git log --author="Stifler"

Buscando no Histórico

# Buscar por mensagem git log --grep="feat" # Buscar por conteúdo git log -S "milf"

Melhores Práticas

Commits

Boas PráticasCommitsMensagensBranchesPequenosFocadosFrequentesClarasPadronizadasDescritivasOrganizadasTemporáriasDescritivas

Workflow Diário

📋 Daily Git Workflow 1. [ ] git pull origin main 2. [ ] git checkout -b feature/nova 3. [ ] Desenvolvimento 4. [ ] git add . 5. [ ] git commit -m "feat: nova função" 6. [ ] git push origin feature/nova 7. [ ] Criar Pull Request

Ferramentas Úteis

GUI Clients

Git GUIGitKrakenSourceTreeGitHub DesktopVisualIntuitivoGratuitoCompletoSimplesIntegrado

IDE Integration

  • VS Code

  • IntelliJ

  • Eclipse

  • Sublime

Dicas Avançadas

Aliases Úteis

# Configurar aliases git config --global alias.st status git config --global alias.co checkout git config --global alias.br branch git config --global alias.ci commit

Scripts de Produtividade

# Atualizar e limpar git pull origin main && git remote prune origin # Deletar branches mergeadas git branch --merged | grep -v "\*" | xargs -n 1 git branch -d

Troubleshooting

Problemas Comuns

ProblemasConflitosCommitsRemoteMergeRebaseResetRevertPushPull

Soluções

🔧 Git Fixes Commit errado: └── git reset --soft HEAD^ Branch errada: └── git checkout -b correct-branch Conflito: └── Resolver + git add + git commit

Próximos Passos

Avançando no Git

  1. Git Flow

  2. Rebase interativo

  3. Git Hooks

  4. CI/CD

Recursos Adicionais

21 abril 2025