MCP HubMCP Hub
Volver a habilidades

manage-git-branches

pjt222
Actualizado Yesterday
5 vistas
17
2
17
Ver en GitHub
Otroai

Acerca de

Esta habilidad de Claude ayuda a los desarrolladores a gestionar ramas de Git para crear, cambiar, sincronizar y limpiar flujos de trabajo. Cubre convenciones de nomenclatura, cambio seguro de ramas con stash, sincronización con ramas remotas y eliminación de ramas fusionadas. Úsala al iniciar nuevas funcionalidades o correcciones de errores, al cambiar entre tareas, al mantener actualizadas las ramas de características o al limpiar después de solicitudes de extracción fusionadas.

Instalación rápida

Claude Code

Recomendado
Principal
npx skills add pjt222/agent-almanac -a claude-code
Comando PluginAlternativo
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternativo
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/manage-git-branches

Copia y pega este comando en Claude Code para instalar esta habilidad

Documentación


name: manage-git-branches description: > Crea, rastrea, cambia, sincroniza y limpia ramas de Git. Cubre convenciones de nombres, cambio seguro de ramas con stash, sincronización con el upstream y eliminación de ramas fusionadas. Úsalo al comenzar trabajo en una nueva funcionalidad o corrección de error, al cambiar entre tareas en distintas ramas, al mantener una rama de funcionalidad actualizada con main, o al limpiar ramas tras fusionar pull requests. license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: git complexity: intermediate language: multi tags: git, branches, branching-strategy, stash, remote-tracking locale: es source_locale: en source_commit: 6f65f316 translator: claude-opus-4-6 translation_date: 2026-03-16

Gestionar Ramas Git

Crea, cambia, sincroniza y limpia ramas siguiendo convenciones de nombres consistentes.

Cuándo Usar

  • Al comenzar trabajo en una nueva funcionalidad o corrección de error
  • Al cambiar entre tareas en distintas ramas
  • Al mantener una rama de funcionalidad actualizada con main
  • Al limpiar ramas después de fusionar pull requests
  • Al listar e inspeccionar ramas

Entradas

  • Requerido: Repositorio con al menos un commit
  • Opcional: Convención de nombres de ramas (por defecto: tipo/descripcion)
  • Opcional: Rama base para nuevas ramas (por defecto: main)
  • Opcional: Nombre del remoto (por defecto: origin)

Procedimiento

Paso 1: Crear una Rama de Funcionalidad

Usa una convención de nombres consistente:

PrefijoPropósitoEjemplo
feature/Nueva funcionalidadfeature/add-weighted-mean
fix/Corrección de errorfix/null-pointer-in-parser
docs/Documentacióndocs/update-api-reference
refactor/Reestructuración de códigorefactor/extract-validation
chore/Mantenimientochore/update-dependencies
test/Adición de pruebastest/add-edge-case-coverage
# Create and switch to a new branch from main
git checkout -b feature/add-weighted-mean main

# Or using the newer switch command
git switch -c feature/add-weighted-mean main

Esperado: Se crea la nueva rama y se activa. git branch muestra la nueva rama con un asterisco.

En caso de fallo: Si la rama base no existe localmente, primero haz fetch: git fetch origin main && git checkout -b feature/name origin/main.

Paso 2: Rastrear Ramas Remotas

Configura el rastreo al subir una nueva rama por primera vez:

# Push and set upstream tracking
git push -u origin feature/add-weighted-mean

# Check tracking relationship
git branch -vv

Para hacer checkout de una rama remota creada por otra persona:

git fetch origin
git checkout feature/their-branch
# Git auto-creates a local tracking branch

Esperado: La rama local rastrea la rama remota correspondiente. git branch -vv muestra el upstream.

En caso de fallo: Si el rastreo automático falla, configúralo manualmente: git branch --set-upstream-to=origin/feature/name feature/name.

Paso 3: Cambiar de Rama de Forma Segura

Antes de cambiar, asegúrate de que el árbol de trabajo esté limpio:

# Check for uncommitted changes
git status

Si hay cambios, haz commit o guárdalos con stash:

# Option 1: Commit work in progress
git add <files>
git commit -m "wip: save progress on validation logic"

# Option 2: Stash changes temporarily
git stash push -m "validation work in progress"

# Switch branches
git checkout main

# Later, restore stashed changes
git checkout feature/add-weighted-mean
git stash pop

Listar y gestionar el stash:

# List all stashes
git stash list

# Apply a specific stash (without removing it)
git stash apply stash@{1}

# Drop a stash
git stash drop stash@{0}

Esperado: El cambio de rama tiene éxito. El árbol de trabajo refleja el estado de la rama destino. Los cambios guardados con stash son recuperables.

En caso de fallo: Si el cambio está bloqueado por cambios sin commit que serían sobreescritos, primero usa stash o haz commit. git stash no puede guardar archivos no rastreados a menos que uses git stash push -u.

Paso 4: Sincronizar con el Upstream

Mantén tu rama de funcionalidad actualizada con la rama base:

# Fetch latest changes
git fetch origin

# Rebase onto latest main (preferred — keeps linear history)
git rebase origin/main

# Or merge main into your branch (creates merge commit)
git merge origin/main

Esperado: La rama incluye los últimos cambios de main. Sin conflictos, o conflictos resueltos (ver resolve-git-conflicts).

En caso de fallo: Si el rebase genera conflictos, resuelve cada uno y ejecuta git rebase --continue. Si los conflictos son demasiado complejos, aborta con git rebase --abort e intenta git merge origin/main en su lugar.

Paso 5: Limpiar Ramas Fusionadas

Después de que los pull requests sean fusionados, elimina las ramas obsoletas:

# Delete a local branch that has been merged
git branch -d feature/add-weighted-mean

# Delete a local branch (force, even if not merged)
git branch -D feature/abandoned-experiment

# Delete a remote branch
git push origin --delete feature/add-weighted-mean

# Prune remote-tracking references for deleted remote branches
git fetch --prune

Esperado: Las ramas fusionadas se eliminan local y remotamente. git branch muestra solo las ramas activas.

En caso de fallo: git branch -d se niega a eliminar ramas no fusionadas. Si la rama fue fusionada mediante squash merge en GitHub, Git puede no reconocerla como fusionada. Usa git branch -D si tienes la certeza de que el trabajo está preservado.

Paso 6: Listar e Inspeccionar Ramas

# List local branches
git branch

# List all branches (local and remote)
git branch -a

# List branches with last commit info
git branch -v

# List branches merged into main
git branch --merged main

# List branches NOT yet merged
git branch --no-merged main

# See which remote branch each local branch tracks
git branch -vv

Esperado: Vista clara de todas las ramas, su estado y las relaciones de rastreo.

En caso de fallo: Si las ramas remotas aparecen desactualizadas, ejecuta git fetch --prune para limpiar las referencias a ramas remotas eliminadas.

Validación

  • Los nombres de las ramas siguen la convención acordada
  • Las ramas de funcionalidad se crean desde la rama base correcta
  • Las ramas locales rastrean sus contrapartes remotas
  • Las ramas fusionadas están limpias (local y remotamente)
  • El árbol de trabajo está limpio antes de cambiar de rama
  • Los cambios guardados con stash no quedan huérfanos

Errores Comunes

  • Trabajar directamente en main: Crea siempre una rama de funcionalidad. Hacer commit directamente en main dificulta la creación de PRs y la colaboración.
  • Olvidar hacer fetch antes de crear una rama: Crear una rama desde un main local desactualizado significa empezar atrasado. Siempre ejecuta git fetch origin primero.
  • Ramas de larga duración: Las ramas de funcionalidad que viven semanas acumulan conflictos de fusión. Sincroniza con frecuencia y mantén las ramas de corta duración.
  • Stashes huérfanos: git stash es almacenamiento temporal. No dependas de él para trabajo a largo plazo. Haz commit o crea una rama en su lugar.
  • Eliminar trabajo no fusionado: git branch -D es destructivo. Verifica con git log branch-name antes de forzar la eliminación.
  • No hacer prune: Las ramas remotas eliminadas en GitHub siguen apareciendo localmente hasta que ejecutas git fetch --prune.

Habilidades Relacionadas

  • commit-changes - hacer commit del trabajo en las ramas
  • create-pull-request - abrir PRs desde ramas de funcionalidad
  • resolve-git-conflicts - resolver conflictos durante la sincronización
  • configure-git-repository - configuración del repositorio y estrategia de ramas

Repositorio GitHub

pjt222/agent-almanac
Ruta: i18n/es/skills/manage-git-branches
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Habilidades relacionadas

llamaguard

Otro

LlamaGuard es el modelo de Meta de 7-8B parámetros para moderar las entradas y salidas de LLM en seis categorías de seguridad como violencia y discurso de odio. Ofrece una precisión del 94-95% y puede implementarse usando vLLM, Hugging Face o Amazon SageMaker. Utiliza esta skill para integrar fácilmente filtrado de contenido y barreras de seguridad en tus aplicaciones de IA.

Ver habilidad

cost-optimization

Otro

Esta Skill de Claude ayuda a los desarrolladores a optimizar los costes en la nube mediante el ajuste de tamaño de recursos, estrategias de etiquetado y análisis de gastos. Proporciona un marco para reducir los gastos en la nube e implementar una gobernanza de costes en AWS, Azure y GCP. Úsala cuando necesites analizar los costes de infraestructura, ajustar el tamaño de los recursos o cumplir con restricciones presupuestarias.

Ver habilidad

quantizing-models-bitsandbytes

Otro

Esta habilidad cuantiza LLMs a precisión de 8 o 4 bits utilizando bitsandbytes, logrando una reducción de memoria del 50-75% con pérdida mínima de precisión. Es ideal para ejecutar modelos más grandes en memoria GPU limitada o para acelerar la inferencia, admitiendo formatos como INT8, NF4 y FP4. La habilidad se integra con HuggingFace Transformers y permite entrenamiento QLoRA y optimizadores de 8 bits.

Ver habilidad

dispatching-parallel-agents

Otro

Esta Skill de Claude despliega múltiples agentes para investigar y solucionar 3 o más problemas independientes de forma concurrente. Está diseñada para escenarios que involucran fallos no relacionados que pueden resolverse sin estado compartido o dependencias. Su capacidad principal es la resolución paralela de problemas, asignando un agente por cada dominio problemático independiente para maximizar la eficiencia.

Ver habilidad