터미널로 멀티 레포 혼돈을 다스리는 방법
Source: Dev.to

전체 스택 개발자나 SRE라면 마이크로서비스와 폴리레포의 세계에 살고 있을 가능성이 높습니다.
로컬에 10개, 20개, 혹은 50개 이상의 레포지토리를 복제해 두었을 겁니다:
apps/frontendapps/backendlibs/ui-kitinfrastructure/terraform- …그리고 잊고 있던 그 사이 프로젝트.
The Problem: “Context Fatigue” 🛑
아침마다 하는 의식은 똑같습니다: 각 폴더로 이동해 변경 사항을 푸시했는지, origin/main보다 뒤처졌는지 확인합니다.
cd apps/frontend
git status
# nothing to commit
cd ../../libs/ui-kit
git status
# …
수동으로 컨텍스트를 전환하면 생산성이 급격히 떨어지고, 코드를 한 줄도 쓰기 전에 흐름 상태가 끊깁니다.
기존 GUI 툴(GitHub Desktop, Sourcetree)은 종종 너무 느리거나 무겁습니다. lazygit은 좋지만 하나의 레포에 집중하도록 설계돼 있어 50개를 관리하기엔 부족합니다.
The Solution: A “God Mode” Dashboard for Git ⚡️
제가 필요했던 도구는 다음과 같았습니다:
- Blazing Fast – 즉시 시작 (Go로 작성)
- Terminal First – CLI 안에서 작업
- Multi‑Repo – 모든 프로젝트의 상태를 한 화면에 표시
그래서 Git‑Scope 를 만들었습니다.
주요 기능
- Recursive Discovery –
~/projects폴더 안의 git 레포를 자동으로 찾아냅니다. - “Dirty First” Sorting – 커밋되지 않은 변경이 있는 레포를 최상단에 표시해 작업을 놓치지 않게 합니다.
- Fuzzy Search –
/를 입력해 이름으로 프로젝트를 바로 점프합니다.
Who Is This For? (ICP & Use Cases)
1. 마이크로서비스 백엔드 엔지니어 🏗️
고통: 하나의 기능이 5개의 서비스(auth, payments, core, …)에 걸쳐 있습니다. 3개의 서비스에서 코드를 수정했지만 어느 서비스인지 기억이 안 납니다.
해결책: Git‑Scope를 열면 “Dirty” 상태인 3개의 레포가 최상단에 올라옵니다. 몇 초 만에 커밋하고 푸시해 PR을 동기화합니다.
2. SRE / DevOps 엔지니어 🛠️
고통: 수십 개의 Terraform 모듈이나 Ansible 역할을 관리합니다. origin/main보다 뒤처졌는지 확인하고 플랜을 실행해야 합니다.
해결책: 대시보드 한 눈에 어떤 인프라 레포가 최신이 아닌지(↓ 2 커밋 뒤처짐) 확인하고, 각 디렉터리로 cd 하지 않아도 업데이트를 당겨옵니다.
3. 오픈소스 메인테이너 🐙
고통: 10개 이상의 라이브러리를 유지보수하면서 여기저기 흩어진 스태시와 푸시되지 않은 실험 브랜치가 있습니다.
해결책: Fuzzy Search(/)를 사용해 라이브러리 간을 즉시 이동하고 PR을 로컬에서 검토합니다. “Clean” 필터를 이용해 삭제하거나 푸시하지 않은 실험을 찾아 정리합니다.
How to Install
macOS / Linux (Homebrew)
brew tap Bharath-code/tap
brew install git-scope
Directly with Go
go install github.com/Bharath-code/git-scope/cmd/git-scope@latest
Why I Built This
저는 Unix Philosophy를 존중하는 도구가 필요했습니다: 하나의 일을 잘 수행한다.
Git‑Scope는 git이나 lazygit을 대체하려는 것이 아니라 보완합니다. 워크플로우에 없던 고수준 레이더 기능을 제공해 흐름을 유지하고 로컬 git 세계를 마찰 없이 관리할 수 있게 해줍니다.
GitHub에서 확인하고 의견을 알려 주세요!
