Our review
This skill provides a comprehensive protocol for safe Git merges, conflict resolution, and forcing GitHub Pages cache updates.
Strengths
- Clear, repeatable steps to avoid merge errors
- Specific solution for GitHub Pages cache issues
- Troubleshooting procedures for stuck states (rebase, locks)
Limitations
- Specific to GitHub Pages, not applicable to other platforms
- Requires good Git knowledge to understand each step
- Some actions (like file renaming) are unofficial workarounds
Use this skill when merging feature branches with potential conflicts or when GitHub Pages fails to update after a merge.
Avoid for simple, conflict-free merges or on projects not using GitHub Pages.
Security analysis
CautionThe skill uses shell commands like git, python, mv, rm, and taskkill for legitimate Git workflow and troubleshooting purposes. No destructive or exfiltrating instructions found.
- •Includes commands to kill processes (taskkill) and remove files (rm) which could disrupt other work if used carelessly, but they are standard troubleshooting steps.
Examples
I need to merge my feature branch 'feature/new-dashboard' into main. I want to avoid any conflicts and ensure all commits are transferred. Can you guide me through the safe merge protocol including pre-merge checks, explicit merge with --no-ff, and post-merge validation?My GitHub Pages site is not showing the latest changes after merging to main. I already pushed but the old HTML still appears. How can I force a rebuild using the cache workaround described in this skill?Git is stuck in an interactive rebase state and I can't proceed. I want to abort the rebase and reset to the latest main. Provide the exact commands to clean up and get back to a working state.🚀 Skill: Git Merge Mastery - Evitar Problemas de Merge
Objetivo
Prevenir e resolver problemas comuns de git merge, especialmente com GitHub Pages.
Problemas Comuns Identificados
- Merge incompleto - Commits da feature branch não chegam no main
- Cache do GitHub Pages - HTML antigo persiste mesmo após updates
- Conflitos de arquivos binários - HTML/CSS com conflitos complexos
- Rebase travado - Git em estado inconsistent
📋 Protocolo de Merge Seguro
1. PRÉ-MERGE (Preparação)
# Verificar diferenças entre branches
git diff main..feature/nova-feature --name-only
# Verificar histórico
git log --oneline --graph --all --decorate -10
# Ensure clean working directory
git status
git checkout .
2. MERGE CORRETO (Passo a passo)
# 1. Atualizar main
git checkout main
git pull origin main
# 2. Fazer merge explícito
git merge feature/nova-feature --no-ff -m "feat: merge completo de feature/nova-feature"
# 3. Verificar conflitos
git status
# 4. Resolver conflitos se necessário
git checkout --theirs arquivo-conflitante.html
git add arquivo-conflitante.html
# 5. Finalizar merge
git commit -m "resolve: conflitos do merge"
3. PÓS-MERGE (Validação)
# Verificar se TODOS os commits chegaram
git log --oneline -5
# Verificar arquivos específicos
git show HEAD --name-only
# Testar localmente antes do push
python -m http.server 8000 # Verificar se funciona
🎯 Solução Para GitHub Pages Cache
Quando o GitHub Pages não atualiza:
# 1. Mudar nome do arquivo principal (FORÇA rebuild)
mv docs/index.html docs/dashboard-NOVO.html
# 2. Criar redirect simples
echo "<!DOCTYPE html><html><head><meta http-equiv='refresh' content='0; URL=./dashboard-NOVO.html'></head><body>Redirecting...</body></html>" > docs/index.html
# 3. Commit e push
git add docs/index.html docs/dashboard-NOVO.html
git commit -m "fix: força rebuild GitHub Pages com redirect"
git push
# 4. Após 5min, restaurar nome original
mv docs/dashboard-NOVO.html docs/index.html
git add docs/index.html
git commit -m "fix: restaura nome original após rebuild"
git push
🔧 Troubleshooting de Estados Travados
Git em rebase/interactive mode:
# Abortar rebase
git rebase --abort
# Resetar para estado limpo
git reset --hard origin/main
# Remover locks se necessário
rm -f .git/index.lock
Processos git travados (Windows):
# Matar processos git
taskkill /f /im git*
taskkill /f /im GitHubDesktop.exe
📊 Verificação de Sucesso
Após merge, verificar:
- ✅ GitHub Actions passando
- ✅ GitHub Pages atualizado (aguardar 2-5min)
- ✅ Testar URL atual com Ctrl+Shift+R (hard refresh)
- ✅ Confirmar que todos os arquivos da feature estão no main
⚠️ Checklists de Segurança
ANTES de fazer merge:
- [ ] Backup dos arquivos importantes
- [ ] Verificar diferenças entre branches
- [ ] Testar feature branch localmente
- [ ] Coordenar com time se aplicável
APÓS merge:
- [ ] Verificar se build passa
- [ ] Testar produção
- [ ] Documentar mudanças
- [ ] Informar stakeholders
🚨 Casos Especiais
Merge de grandes refactors:
# Fazer merge gradual
git merge feature/refactor --no-commit
# Verificar arquivo por arquivo
git status
git diff --cached
# Commit apenas quando confirmado
git commit -m "feat: merge seguro de refactor grande"
Rollback seguro:
# Reverter merge específico
git revert -m 1 MERGE_COMMIT_HASH
# Ou reset hard (cuidado!)
git reset --hard COMMIT_ANTERIOR
Lembrete: Sempre prefira merge --no-ff para manter histórico claro e evitar problemas com GitHub Pages!
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.