본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

git-fire

0

git-fire는 여러 Git 저장소를 한 번의 명령으로 점검·백업할 수 있도록 만든 멀티 레포지터리 체크포인트 CLI 도구입니다.

백업

소개

git-fire는 여러 Git 저장소를 한 번의 명령으로 점검·백업할 수 있도록 만든 멀티 레포지터리 체크포인트 CLI 도구입니다. Go 1.24.2로 작성된 베타 소프트웨어이며, 저장소를 자동 검색해 dirty 작업을 옵션으로 커밋하고 백업 브랜치 또는 원격으로 푸시하는 흐름을 일관된 안전장치와 함께 제공합니다. 시스템 Git 바이너리를 호출하는 방식으로 동작하며, MIT 라이선스로 배포됩니다.

상세정보

한 번의 명령으로 다중 저장소 체크포인트

저장소를 자동으로 발견하고 한 명령으로 반복 가능한 백업 흐름을 실행합니다.

옵션 기반 dirty 작업 자동 커밋

커밋되지 않은 변경 사항을 포함하거나 –skip-auto-commit으로 이미 커밋된 작업만 푸시하도록 선택할 수 있습니다.

안전 우선 충돌 처리

일반 흐름에서는 force-push를 피하고, push-current-branch는 분기 발생 시 백업 브랜치를 생성합니다.

Dry-run 계획 미리보기

–dry-run으로 실제 변경을 가하기 전에 어떤 작업이 수행될지 미리 확인할 수 있습니다.

감사 가능한 실행 로그

각 실행은 ~/.cache/git-fire/logs/ 아래에 JSON 형식의 구조화된 로그로 기록되어 사후 검토와 문제 해결에 활용됩니다.

레지스트리 기반 반복성

발견된 저장소는 ~/.config/git-fire/repos.toml에 저장되어 다음 실행에서도 유지되며, 필요시 무시 목록으로 관리할 수 있습니다.

TUI 모드

git-fire –fire로 TUI 선택기를 실행해 다중 저장소 선택과 체크포인트 작업을 한 화면에서 처리할 수 있으며, classic·synthwave·forest·arctic 색상 프로필을 적용할 수 있습니다.

설치 방법

  • Homebrew (macOS/Linuxbrew): brew tap git-fire/tap 후 brew install git-fire
  • WinGet (Windows): winget install git-fire (짧은 형태가 없을 경우 winget install git-fire.git-fire)
  • Linux 설치 스크립트: curl -fsSL …/scripts/install.sh | bash (VERSION, INSTALL_DIR 등 환경 변수로 오버라이드 가능)
  • Linux 패키지: GitHub Releases에서 .deb 또는 .rpm을 내려받아 dpkg/dnf로 설치
  • Go install: go install github.com/git-fire/git-fire@latest 또는 @v0.4.0처럼 태그 고정 가능
  • 바이너리 아카이브: GitHub Releases에서 플랫폼별 바이너리와 체크섬을 내려받아 PATH에 배치

PATH 설정과 설치 검증

설치 후 바이너리 위치가 PATH에 포함되어야 합니다. Go 설치의 경우 export PATH=”$HOME/go/bin:$PATH”를 셸 시작 파일에 추가하고, 수동 설치 시에는 실행 권한을 부여해 /usr/local/bin/ 또는 사용자 bin 디렉터리로 이동합니다. Windows PowerShell에서는 $env:USERPROFILEbin을 사용자 PATH에 추가할 수 있습니다. 검증은 git-fire –version과 which git-fire (Windows에서는 Get-Command git-fire.exe)로 수행합니다.

기본 사용 흐름

먼저 git-fire –dry-run –path ~/projects로 안전하게 미리 본 뒤, git-fire 또는 git fire (PATH에 있을 때 동등)로 기본 스트리밍 체크포인트를 실행합니다. TUI 모드는 git-fire –fire, 스캔 범위는 –path, 기존 커밋만 푸시는 –skip-auto-commit, 상태 확인은 –status, 설정 파일은 –config, 레지스트리만 사용은 –no-scan, 설정 템플릿 생성은 –init으로 지정합니다. 레지스트리 관리는 git-fire repos list와 git-fire repos ignore /abs/path/to/repo로 수행합니다.

긴급 모드 부트스트랩

긴급 상황에서는 scripts/emergency.sh를 curl | bash로 실행해 빠르게 설치할 수 있습니다. 다만 원격 코드를 직접 실행하는 방식이므로 사전에 스크립트를 검토하고, 여유가 있을 때는 릴리스 자산과 체크섬을 통한 설치를 우선합니다.

활용 예시

  • 개발자의 일일 체크포인트: 하루 마무리, 컨텍스트 전환, 대규모 리팩터링 전에 다중 저장소를 일괄 백업
  • 비개발자 다중 저장소 점검: 문서/콘텐츠 발행 윈도우, 데이터 환경 변경 시점에 저장소 상태를 안전하게 보존
  • AI 코딩 세션 안전망: 커밋되지 않은 출력물을 보존하고 세션 로그를 검토용으로 남기는 stop-hook 용도
  • IT/인프라 유지보전 윈도우: 도구·설정 저장소를 점검해 작업 전 상태를 보존
  • 보안/운영 워크플로: red/purple team 동기화 및 인시던트 대응 시 시스템 상태 보존

제한 · 라이선스 · 확인사항

베타 소프트웨어로, 핵심 다중 저장소 백업 흐름은 사용 가능하지만 –backup-to와 USB 대상 모드는 아직 연결되지 않은 로드맵 항목입니다. 안전을 위해 비밀 정보는 추적 대상 파일에 두지 말고 .gitignore와 .git/info/exclude로 로컬 비밀 파일을 관리해야 하며, 광범위한 백업 전에는 –dry-run으로 커밋 대상을 점검할 것을 권장합니다. 비밀 감지 경고가 포함되어 있으나 커밋 책임은 사용자에게 있습니다. 라이선스는 MIT이며 자세한 내용은 저장소의 LICENSE 파일에서 확인할 수 있습니다. 보안 이슈는 SECURITY.md를 통해 비공개로 보고할 수 있습니다.

시스템 요구사항

시스템에 Git이 설치되어 있어야 하며, Go 설치 경로(예: $HOME/go/bin) 또는 수동으로 배치한 바이너리 위치가 PATH에 등록되어 있어야 합니다. Homebrew, WinGet, Linux의 .deb/.rpm, Go install 등 설치 방법별로 PATH 설정 방법이 README에 안내되어 있습니다. WinGet 패키지는 microsoft/winget-pkgs 업데이트 PR이 병합된 이후에 정식 노출되므로, 그 전에는 GitHub 릴리스의 Windows .zip 자산을 사용해야 합니다.