Show HN: ggc – Go로 작성된 터미널 기반 Git CLI
요약
ggc는 Go 언어로 작성된 터미널 기반의 Git CLI 도구입니다. 이 도구는 검색 가능한 워크플로우 빌더를 제공하여 복잡한 Git 작업을 간결하게 처리할 수 있도록 돕습니다. 인터랙티브 모드와 다양한 CLI 워크플로우 기능을 통해 개발 생산성을 높이는 데 초점을 맞추고 있습니다.
핵심 포인트
- Go 언어로 작성된 터미널 기반의 Git CLI 도구입니다.
- 검색 가능한 워크플로우 빌더를 갖추어 복잡한 Git 작업을 간소화합니다.
- 인터랙티브 모드와 다양한 CLI 기능을 제공하여 개발 생산성을 높여줍니다.
ggc
검색 가능한 워크플로우 빌더를 갖춘 스크립팅 Git 단축키.
📖 전체 문서: https://bmf-san.github.io/ggc/
<img src="./docs/icon.png" alt="ggc" title="ggc" width="100px">이 로고는 gopherize.me에서 제작되었습니다.
데모
GIF를 클릭하여 전체 크기로 볼 수 있습니다.
| 인터랙티브 & 워크플로우 모드 | CLI 워크플로우 | 브랜치 관리 |
|---|---|---|
| <img src="docs/demos/generated/interactive-overview.gif" alt="Interactive overview demo" width="320"> | <img src="docs/demos/generated/cli-workflow.gif" alt="CLI workflow demo" width="320"> | <img src="docs/demos/generated/branch-management.gif" alt="Branch management demo" width="320"> |
모든 ggc 명령어에 대해 퍼지 검색을 수행한 다음, <kbd>Tab</kbd> 키를 눌러 워크플로우로 큐에 넣고 <kbd>Ctrl</kbd>+<kbd>T</kbd>를 눌러 파이프라인을 실행합니다. | 전통적인 일회성 명령어: ggc status, ggc add, ggc commit "<msg>", ggc log simple. | 일반 동사로 브랜치를 생성하고 전환합니다. 인수가 생략되면 인터랙티브 선택기가 나타납니다. |
개요
ggc는 짧고 스크립트화 가능한 Git 단축키와 검색 가능한 워크플로우 빌더를 제공합니다. ggc <하위 명령어>를 직접 실행하여 일회성 명령을 수행하거나, 셸 스크립트에 삽입하거나, 또는 ggc만 입력하여 퍼지 피커(fuzzy picker)를 열 수 있습니다. 여기서는 모든 명령어를 검색하고, 여러 명령어를 워크플로우에 대기열화(queue)한 다음 파이프라인으로 실행할 수 있습니다.
지원 플랫폼: macOS (amd64 / arm64 / universal), Linux (amd64 / arm64), Windows (amd64). 빌드를 위해서는 Git과 Go 1.25+가 필요합니다.
왜 raw git, lazygit, tig, 또는 gitui 대신 ggc를 사용해야 할까요?
Git에는 이미 훌륭한 TUI(Text User Interface)와 도우미 기능들이 있습니다 — ggc는 다른 영역을 채웁니다. ggc만이 명령줄에서 스크립트화할 수 있으면서도 상호작용적인 워크플로우 빌더로 검색이 가능하다는 점입니다:
-
여러 단계의 워크플로우를 구성한 다음 실행하거나 재사용할 수 있습니다. 퍼지 피커에서 명령어를 검색하고, <kbd>Tab</kbd>을 눌러
add→commit→push를 대기열화하고, <kbd>Ctrl</kbd>+<kbd>T</kbd>을 눌러 파이프라인을 실행합니다. lazygit/gitui는 한 번에 하나의 동작만 수행하며; tig은 읽기에 초점을 맞춥니다. -
스크립트와 CI에서 동일한 도구 사용 가능. `ggc commit
-
clean은 먼저 묻습니다. 대화형(interactive)clean은 삭제할 파일을 보여주고 (Delete these files? (y/n)), 실제로 삭제하기 전에 사용자에게 확인을 요청합니다. -
다른 파괴적 명령어는 즉시 실행됩니다.
branch delete,tag삭제, 그리고stash drop/stash clear는 별도의 확인 단계 없이 바로 실행됩니다. 이는 내부의git명령과 동일하게 취급하시면 됩니다. -
reset은 통과(passthrough)가 아닌 단축키입니다. 단순히ggc reset을 실행하면 업스트림 브랜치로 하드 리셋을 수행하고 작업 디렉터리를 정리합니다 (reset --hard+clean);ggc reset hard <commit>과ggc reset soft <commit>은 각각 해당되는git reset에 매핑됩니다. 이들은 프롬프트 없이 변경 사항을 폐기합니다. -
실행 전 워크플로우를 검토하세요. 워크플로우 뷰는 대기 중인 모든 단계를 나열하여, 실행하기 전에 파이프라인을 검사하고 (재구성할 수 있도록) 확인할 수 있게 합니다.
자세한 내용은 대화형 모드 및 워크플로우 가이드를 참조하세요.
전체 문서는 **https://bmf-san.github.io/ggc/**에서 확인할 수 있습니다:
- 왜 ggc인가? + 기능 하이라이트
- 빠른 시작하기
- 명령어 참조 — 레지스트리에서 자동 생성됨
- 레시피 — 작업 중심의 안내서
- 대화형 모드 및 워크플로우
- 설정, 별칭, 키 바인딩
- 문제 해결
설치
# quick install (macOS / Linux)
curl -sSL https://raw.githubusercontent.com/bmf-san/ggc/main/install.sh | bash
...
Windows 바이너리, 사전 구축된 아카이브, 소스 빌드는 설치 가이드에서 다룹니다. 설치 후에는 ggc doctor를 실행하여 검증하세요.
참고 자료
- ggc 문서 사이트 - 전체 사용자 가이드, 설치 노트, 설정 참고 자료 및 문제 해결
- Git 문서 - 완벽한 Git 참조 문서
- Git 튜토리얼 - 초보자를 위한 공식 Git 튜토리얼
- Git 사용자 매뉴얼 - 포괄적인 Git 사용자 가이드
기여 (Contributing)
자세한 내용은 CONTRIBUTING.md와 CODE_OF_CONDUCT.md를 참조하세요.
후원 (Sponsor)
제 작업에 힘을 실어주고 싶으시다면, 저를 후원해 주시는 것을 고려해 주세요!
또는 GitHub에서 ⭐를 남겨주시는 것만으로도 큰 힘이 됩니다—이는 제가 프로젝트를 유지하고 개선할 동기를 부여합니다! :D
스타게이저 (Stargazers)
포커 (Forkers)
라이선스 (License)
본 프로젝트는 MIT License에 따라 라이선스가 부여되었습니다. 자세한 내용은 LICENSE.md 파일을 참조하세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Show HN (AI)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기