Herramientas
Colección de herramientas, extensiones y recursos para trabajar con Git y GitHub.
Lazygit Interfaz de usuario simple para Git en la terminal.
GitHub Desktop Aplicación de escritorio que facilita el uso de Git y GitHub.
Sourcegit Cliente gráfico de Git, ligero y multiplataforma.
.gitignore Generator Generador en línea de archivos .gitignore para diversos entornos.
Template SegoCode Plantilla base para proyectos de desarrollo colaborativos.
GitHub Actions Generator Generador visual de flujos de trabajo (workflows) para GitHub Actions.
Shields.io Generador de insignias personalizadas para repositorios de GitHub.
Markdown Badges Colección de insignias para incluir en archivos README en Markdown.
Repo Badges Insignias para README que reflejan la actividad y calidad del repositorio.
Refined Github Extensión del navegador con funcionalidades adicionales para GitHub.
Material icons Github Extensión que añade iconos Material a los archivos en GitHub.
Limpieza de ramas antiguas
Section titled “Limpieza de ramas antiguas”Script de PowerShell que identifica ramas remotas con más de N meses de inactividad y permite eliminarlas de forma interactiva. Configura el umbral modificando la variable $monthsOld:
# Define el numero de meses antiguos para la comparacion$monthsOld = 4
# Obtiene la fecha actual y resta el numero de meses especificado$thresholdDate = (Get-Date).AddMonths(-$monthsOld)
# Obtiene todas las ramas remotas con la ultima fecha de commit en formato legible$branches = git for-each-ref --sort=-committerdate refs/remotes/ --format="%(refname:short) %(committerdate:iso8601)"
# Convertir la salida de git en objetos de PowerShell para facilitar el manejo$branchObjects = $branches | ForEach-Object { $parts = $_ -split ' ', 2 [PSCustomObject]@{ BranchName = ($parts[0] -replace '^origin/', '') # Elimina el prefijo 'origin/' LastCommitDate = [DateTime]$parts[1] }}
# Filtrar y mostrar las ramas que son mas antiguas que la fecha umbral$oldBranches = $branchObjects | Where-Object { $_.LastCommitDate -lt $thresholdDate }
# Imprimir las ramas en un formato tabularif ($oldBranches.Count -gt 0) { Write-Output "Ramas remotas mas antiguas que $monthsOld meses:" $format = @{Expression={$_.BranchName};Label="Nombre de la rama";Width=50}, @{Expression={$_.LastCommitDate.ToString('yyyy-MM-dd')};Label="Ultimo Commit";Width=20} $oldBranches | Format-Table $format
# Preguntar si se desea eliminar cada rama $oldBranches | ForEach-Object { $branchName = $_.BranchName $lastCommitDate = $_.LastCommitDate.ToString('yyyy-MM-dd') $response = Read-Host "Desea eliminar la rama '$branchName' con ultimo commit el $lastCommitDate ? (s/n)" if ($response -eq 's') { # Eliminar la rama en remoto Write-Output "Ejecutando comando para eliminar rama remota" git push --delete origin $branchName Write-Output "Rama remota '$branchName' eliminada."
# Eliminar la rama en local Write-Output "Ejecutando comando para eliminar rama local" git branch -d $branchName Write-Output "Rama local '$branchName' eliminada."
} else { Write-Output "Rama '$branchName' no eliminada." } Write-Output " " Write-Output " " }} else { Write-Output "No hay ramas remotas con mas de $monthsOld meses de antiguedad."}