manage-git-branches
정보
이 Claude Skill은 개발자가 Git 브랜치를 생성, 전환, 동기화 및 정리하는 워크플로우를 관리하는 데 도움을 줍니다. 여기에는 네이밍 규칙, stash를 활용한 안전한 브랜치 전환, 업스트림 동기화, 병합된 브랜치 삭제 등이 포함됩니다. 새로운 기능 개발이나 버그 수정을 시작할 때, 작업 간 전환이 필요할 때, 기능 브랜치를 최신 상태로 유지하거나 병합된 풀 리퀘스트 이후 정리가 필요할 때 사용하세요.
빠른 설치
Claude Code
추천npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/manage-git-branchesClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
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:
| Prefijo | Propósito | Ejemplo |
|---|---|---|
feature/ | Nueva funcionalidad | feature/add-weighted-mean |
fix/ | Corrección de error | fix/null-pointer-in-parser |
docs/ | Documentación | docs/update-api-reference |
refactor/ | Reestructuración de código | refactor/extract-validation |
chore/ | Mantenimiento | chore/update-dependencies |
test/ | Adición de pruebas | test/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 originprimero. - 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 stashes 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 -Des destructivo. Verifica congit log branch-nameantes 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 ramascreate-pull-request- abrir PRs desde ramas de funcionalidadresolve-git-conflicts- resolver conflictos durante la sincronizaciónconfigure-git-repository- configuración del repositorio y estrategia de ramas
GitHub 저장소
연관 스킬
llamaguard
기타LlamaGuard는 폭력 및 혐오 발언 등 6가지 안전 범주에서 LLM 입력과 출력을 조정하기 위한 Meta의 70-80억 파라미터 모델입니다. 94-95% 정확도를 제공하며 vLLM, Hugging Face 또는 Amazon SageMaker를 사용해 배포할 수 있습니다. 이 기술을 사용하여 AI 애플리케이션에 콘텐츠 필터링 및 안전 가드레일을 손쉽게 통합하세요.
cost-optimization
기타이 Claude Skill은 리소스 적정화, 태깅 전략, 지출 분석을 통해 개발자들이 클라우드 비용을 최적화할 수 있도록 지원합니다. AWS, Azure, GCP에서 클라우드 비용을 절감하고 비용 거버넌스를 구현하기 위한 프레임워크를 제공합니다. 인프라 비용을 분석하거나, 리소스를 적정화하거나, 예산 제약을 충족해야 할 때 사용하세요.
quantizing-models-bitsandbytes
기타이 스킬은 bitsandbytes를 사용하여 LLM을 8비트 또는 4비트 정밀도로 양자화하며, 최소한의 정확도 손실로 50-75%의 메모리 감소를 달성합니다. 제한된 GPU 메모리에서 더 큰 모델을 실행하거나 추론을 가속화하는 데 이상적이며, INT8, NF4, FP4와 같은 형식을 지원합니다. 이 스킬은 HuggingFace Transformers와 통합되어 QLoRA 학습 및 8비트 옵티마이저를 가능하게 합니다.
dispatching-parallel-agents
기타이 Claude Skill은 3개 이상의 독립적인 문제를 동시에 조사하고 해결하기 위해 다중 에이전트를 배치합니다. 공유 상태나 의존성 없이 해결 가능한 무관련 장애 시나리오에 맞게 설계되었습니다. 핵심 기능은 병렬 문제 해결로, 각 독립 문제 영역마다 하나의 에이전트를 할당하여 효율성을 극대화합니다.
