Web Analytics

gfold

⭐ 378 stars Spanish by nickgerace

gfold

latest release tag crates.io version build status calver

gfold es una herramienta CLI que te ayuda a mantener un seguimiento de múltiples repositorios Git.

A GIF showcasing gfold in action

Si prefieres usar el modo de visualización clásico por defecto, y evitar establecer la bandera cada vez, puedes configurarlo en el archivo de configuración (ver sección Uso).

Anuncio (febrero de 2025)

Todas las versiones ahora siguen el esquema de versionado CalVer, comenzando con 2025.2.1. Este cambio es compatible tanto hacia adelante como hacia atrás con el esquema de versionado Semantic Versioning, que se usó desde la primera versión hasta la versión 4.6.0.

No se requiere ninguna acción por parte del usuario final específicamente para el cambio del esquema de versionado.

Este anuncio eventualmente será removido de este README y será trasladado al CHANGELOG.

Descripción

Esta aplicación muestra información relevante para múltiples repositorios Git en uno o varios directorios. Solo lee del sistema de archivos y nunca escribirá en él. Aunque esta herramienta pueda parecer limitada en alcance y propósito, esto es por diseño.

Por defecto, gfold examina cada repositorio Git mediante un recorrido desde el directorio de trabajo actual. Si deseas apuntar a otro directorio, puedes pasar su ruta (relativa o absoluta) como primer argumento o cambiar la ruta por defecto en el archivo de configuración.

Después del recorrido, gfold utiliza rayon para realizar un análisis concurrente y solo de lectura de todos los repositorios Git detectados. El análisis se realiza utilizando la biblioteca git2-rs.

Uso

Proporciona la bandera -h/--help para ver todas las opciones para usar esta aplicación.

# Operate in the current working directory or in the location provided by a config file, if one exists.
gfold

Operate in the parent directory.

gfold ..

Operate in the home directory (first method).

gfold $HOME

Operate in the home directory (second method).

gfold ~/

Operate with an absolute path.

gfold /this/is/an/absolute/path

Operate with a relative path.

gfold ../../this/is/a/relative/path

Operate with three paths.

gfold ~/src ~/projects ~/code

Archivo de Configuración

Si te encuentras proporcionando los mismos argumentos con frecuencia, puedes crear y usar un archivo de configuración. gfold no incluye un archivo de configuración por defecto y los archivos de configuración son completamente opcionales.

¿Cómo funciona? Al ejecutarse, gfold buscará un archivo de configuración en las siguientes rutas (en orden):

$XDG_CONFIG_HOME se refiere a la variable de entorno literal XDG_CONFIG_HOME, pero por defecto usará la ruta específica del sistema operativo si no está establecida (consulta user_dirs para más información).

Si se encuentra un archivo de configuración, gfold lo leerá y usará las opciones especificadas dentro.

Para crear un archivo de configuración, puedes usar el indicador --dry-run para imprimir TOML válido. Aquí hay un ejemplo de flujo de trabajo para crear un archivo de configuración en macOS, Linux y plataformas similares:

gfold -d classic -c never ~/ --dry-run > $HOME/.config/gfold.toml

Aquí están los contenidos del archivo de configuración resultante:

paths = ['/home/neloth']
display_mode = 'Classic'
color_mode = 'Never'

Supongamos que creaste un archivo de configuración, pero quieres ejecutar gfold con configuraciones completamente diferentes _y_ quieres asegurarte de no heredar accidentalmente opciones del archivo de configuración. En ese caso, puedes ignorar tu archivo de configuración usando la opción -i.

gfold -i

Puede restaurar el archivo de configuración a sus valores predeterminados utilizando la misma bandera.

gfold -i > $HOME/.config/gfold.toml

Además, puedes ignorar el archivo de configuración existente, configurar opciones específicas y usar valores predeterminados para las opciones no especificadas, todo a la vez. Aquí hay un ejemplo donde queremos usar el modo de visualización clásico y anular todas las demás configuraciones con sus valores predeterminados:

gfold -i -d classic > $HOME/.config/gfold.toml

Puedes hacer una copia de seguridad de un archivo de configuración y rastrear su historial con git. En macOS, Linux y la mayoría de los sistemas, puedes enlazar el archivo a un repositorio git.

ln -s /gfold.toml $HOME/.config/gfold.toml
Ahora, puede actualizar el archivo de configuración dentro de su repositorio e incluir el enlace como parte de su flujo de trabajo de configuración del entorno.

Instalación

Estado del empaquetado

Homebrew (macOS y Linux)

Puede usar Homebrew para instalar gfold usando la fórmula principal.

Sin embargo, puede encontrarse con una colisión de nombres en macOS si coreutils está instalado vía brew. Consulte la sección de solución de problemas para una solución alternativa y más información.

brew install gfold

Arch Linux

Puedes usar pacman para instalar gfold desde el repositorio extra.

pacman -S gfold

Nix y NixOS

Puedes instalar gfold desde nixpkgs:

nix-env --install gfold

Si estás utilizando flakes, puedes instalar usando el comando nix directamente.

nix profile install "nixpkgs#gfold"

Cargo

Puedes usar cargo para instalar el crate en casi cualquier plataforma.

cargo install gfold

Utilice la bandera --locked si desea que Cargo use Cargo.lock.

cargo install --locked gfold

Mantener la crate actualizada es fácil con cargo-update.

cargo install cargo-update
cargo install-update -a

Descargar un Binario

Si no desea usar uno de los métodos de instalación mencionados anteriormente y no quiere clonar el repositorio, puede descargar un binario desde la página de releases. Para un ejemplo de cómo hacerlo, consulte la guía de instalación manual.

Compilar Desde el Código Fuente

Si desea un ejemplo de cómo compilar desde el código fuente, consulte la guía de instalación manual.

Obsoleto: Homebrew Tap (solo macOS)

El tap ubicado en nickgerace/homebrew-nickgerace ha sido descontinuado. Por favor, use el paquete principal de Homebrew mencionado anteriormente.

¿No está listado el Método de Instalación Preferido?

¡Por favor abra un issue!

Compatibilidad

gfold está diseñado para ejecutarse en _cualquier_ objetivo Rust 🦀 de nivel uno. Por favor abra un issue si su plataforma no es compatible.

Resolución de Problemas y Problemas Conocidos

Si encuentra un comportamiento inesperado o un error y desea ver más detalles, ejecute con mayor nivel de verbosidad.

gfold -vvv

Si el problema persiste, por favor informe un problema. Adjunte los registros relevantes de la ejecución con _partes sensibles redactadas_ para ayudar a resolver su problema.

Colisión de Coreutils en macOS

Si fold de GNU Coreutils está instalado en macOS vía brew, se llamará gfold. Puede evitar esta colisión con alias de shell, funciones de shell y/o cambios en el PATH. Aquí hay un ejemplo con la o eliminada de gfold:

alias gfld=$HOME/.cargo/bin/gfold

Comunidad

Para más información y agradecimientos a los usuarios y a la "comunidad" en general, por favor consulte el archivo AGRADECIMIENTOS DE LA COMUNIDAD.

--- Tranlated By Open Ai Tx | Last indexed: 2026-01-04 ---