Web Analytics

gfold

⭐ 378 stars Korean by nickgerace

gfold

latest release tag crates.io version build status calver

gfold는 여러 Git 저장소를 추적하는 데 도움이 되는 CLI 도구입니다.

A GIF showcasing gfold in action

기본적으로 클래식 표시 모드를 사용하고 싶으며 매번 플래그를 설정하는 것을 피하고 싶다면, 설정 파일에서 이를 설정할 수 있습니다 (사용법 섹션 참조).

공지 (2025년 2월)

모든 릴리스는 이제 2025.2.1부터 시작하여 CalVer 버전 체계를 따릅니다. 이 변경은 처음 릴리스부터 4.6.0 버전까지 사용된 Semantic Versioning 버전 체계와 앞으로 및 뒤로 호환됩니다.

버전 체계 변경 자체에 대해 최종 사용자가 별도의 조치를 취할 필요는 없습니다.

이 공지는 결국 이 README에서 제거되고 CHANGELOG로 이동될 예정입니다.

설명

이 앱은 여러 Git 저장소에 대한 관련 정보를 하나 이상의 디렉터리에서 표시합니다. 파일 시스템에서만 읽으며 절대 쓰지 않습니다. 이 도구가 범위와 목적이 제한된 것처럼 보일 수 있지만, 이는 의도된 설계입니다.

기본적으로 gfold는 현재 작업 디렉터리에서부터 모든 Git 저장소를 탐색합니다. 다른 디렉터리를 대상으로 하려면 경로(상대 또는 절대)를 첫 번째 인수로 전달하거나 설정 파일에서 기본 경로를 변경할 수 있습니다.

탐색 후, gfoldrayon을 활용하여 감지된 모든 Git 저장소에 대해 병렬로 읽기 전용 분석을 수행합니다. 분석은 git2-rs 라이브러리를 활용하여 수행됩니다.

사용법

이 응용 프로그램의 모든 옵션을 보려면 -h/--help 플래그를 제공하세요.

# 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

구성 파일

자주 동일한 인수를 제공하는 경우 구성 파일을 생성하여 사용할 수 있습니다. gfold는 기본적으로 구성 파일을 제공하지 않으며 구성 파일은 완전히 선택 사항입니다.

어떻게 작동합니까? 실행 시 gfold는 다음 경로(순서대로)에서 구성 파일을 찾습니다:

$XDG_CONFIG_HOME는 문자 그대로 XDG_CONFIG_HOME 환경 변수를 의미하지만, 설정되지 않은 경우 운영 체제별 적절한 경로로 기본값이 설정됩니다 (user_dirs 참고).

구성 파일이 발견되면 gfold는 이를 읽고 그 안에 지정된 옵션을 사용합니다.

구성 파일 생성을 위해 --dry-run 플래그를 사용하여 유효한 TOML을 출력할 수 있습니다. 다음은 macOS, Linux 및 유사 플랫폼에서의 구성 파일 생성 워크플로 예시입니다:

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

다음은 생성된 구성 파일의 내용입니다:

paths = ['/home/neloth']
display_mode = 'Classic'
color_mode = 'Never'
설정 파일을 만들었는데 전혀 다른 설정으로 gfold를 실행하고 싶고 설정 파일에서 옵션이 실수로 상속되는 것을 방지하고 싶다고 가정해 봅시다. 그런 경우 -i 플래그를 사용하여 설정 파일을 무시할 수 있습니다.

gfold -i
동일한 플래그를 사용하여 구성 파일을 기본값으로 복원할 수 있습니다.

gfold -i > $HOME/.config/gfold.toml
또한, 기존 구성 파일을 무시하고 특정 옵션을 구성하며 지정되지 않은 옵션에 대해서는 기본값을 모두 한 번에 사용할 수 있습니다. 다음은 클래식 디스플레이 모드를 사용하고 다른 모든 설정을 기본값으로 재정의하려는 예입니다:

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

git을 사용하여 구성 파일을 백업하고 기록을 추적할 수 있습니다. macOS, Linux 및 대부분의 시스템에서 파일을 git 저장소에 다시 연결할 수 있습니다.

ln -s /gfold.toml $HOME/.config/gfold.toml
이제 리포지토리 내에서 설정 파일을 업데이트하고 환경 설정 워크플로우의 일부로 링크 작업을 포함할 수 있습니다.

설치

패키징 상태

Homebrew (macOS 및 Linux)

Homebrew를 사용하여 core formulae를 통해 gfold를 설치할 수 있습니다.

하지만 brewcoreutils를 설치한 경우 macOS에서 이름 충돌이 발생할 수 있습니다. 해결 방법과 자세한 내용은 문제 해결 섹션을 참조하세요.

brew install gfold

아치 리눅스

pacman을 사용하여 extra 저장소에서 gfold를 설치할 수 있습니다.

pacman -S gfold

Nix 및 NixOS

nixpkgs에서 gfold를 설치할 수 있습니다:

nix-env --install gfold

만약 flakes를 사용하고 있다면, nix 명령어를 사용하여 직접 설치할 수 있습니다.

nix profile install "nixpkgs#gfold"

Cargo

거의 모든 플랫폼에서 crate를 설치하기 위해 cargo를 사용할 수 있습니다.

cargo install gfold
Cargo.lock을 사용하려면 --locked 플래그를 사용하세요.

cargo install --locked gfold
크레이트를 최신 상태로 유지하는 것은 cargo-update로 쉽습니다.

cargo install cargo-update
cargo install-update -a

바이너리 다운로드

위의 설치 방법을 사용하지 않거나 저장소를 클론하고 싶지 않은 경우, 릴리스 페이지에서 바이너리를 다운로드할 수 있습니다. 방법에 대한 예시는 수동 설치 가이드를 참조하세요.

소스에서 빌드하기

소스에서 빌드하는 방법에 대한 예시는 수동 설치 가이드를 참조하세요.

더 이상 사용되지 않음: Homebrew 탭 (macOS 전용)

nickgerace/homebrew-nickgerace에 위치한 탭은 더 이상 사용되지 않습니다. 대신 위에서 언급한 기본 Homebrew 패키지를 사용하세요.

선호하는 설치 방법이 목록에 없나요?

이슈를 등록해 주세요!

호환성

gfold는 _모든_ 1급 Rust 🦀 타겟에서 실행되도록 설계되었습니다. 지원되지 않는 플랫폼이 있다면 이슈를 등록해 주세요.

문제 해결 및 알려진 문제

예상치 못한 동작이나 버그가 발생하고 더 자세한 정보를 보고 싶다면, 상세 출력을 높여 실행하세요.

gfold -vvv
문제가 계속되면, 이슈를 등록해 주세요. 문제 해결에 도움이 될 수 있도록 _민감한 부분은 삭제된_ 실행 로그를 첨부해 주세요.

macOS에서 Coreutils 충돌

macOS에 brew를 통해 GNU Coreutilsfold가 설치된 경우, gfold라는 이름으로 설치됩니다. 이 충돌은 셸 별칭, 셸 함수 및/또는 PATH 변경으로 피할 수 있습니다. 다음은 gfold에서 o를 뺀 예제입니다:

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

커뮤니티

추가 정보와 사용자 및 전체 "커뮤니티"에 대한 감사는 COMMUNITY THANKS 파일을 참조하십시오.

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