Show GN: gh-orbit – 여러 worktree의 열린 PR·CI·diff를 한 터미널 대시보드로 모으는 gh 익스텐션
여러 개의 Git Worktree를 오가며 작업할 때 발생하는 컨텍스트 스위칭 문제를 해결해 주는 GitHub CLI 익스텐션 'gh-orbit'을 소개합니다. 터미널 한 곳에서 각 Worktree의 PR 상태, C
여러 개의 Git Worktree를 오가며 작업할 때 발생하는 컨텍스트 스위칭 문제를 해결해 주는 GitHub CLI 익스텐션 'gh-orbit'을 소개합니다. 터미널 한 곳에서 각 Worktree의 PR 상태, CI 성공 여부, 로컬 변경 사항(diff)을 한눈에 확인하고 관리할 수 있어 개발 흐름이 끊기지 않습니다.
정리
개발의 흐름을 끊는 'Worktree 컨텍스트 스위칭' 해결하기
동시에 여러 기능 브랜치를 스택으로 쌓아 작업하거나, 로컬에서 여러 코딩 에이전트를 병렬로 돌릴 때 Git Worktree를 자주 사용하게 됩니다. 하지만 Worktree 개수가 늘어나면 관리가 꽤 복잡해집니다. 각 Worktree마다 독립된 커밋 그래프, 커밋되지 않은 변경 사항(diff), 그리고 CI가 돌고 있는 열린 PR이 제각각 존재하기 때문이죠.
이를 모두 모니터링하려면 보통 터미널에서 git 명령어를 치고, gh를 입력하고, 웹 브라우저 탭을 끊임없이 오가야 하는 번거로움이 있었습니다. gh-orbit은 이 귀찮은 과정을 터미널 화면 단 한 곳으로 완벽하게 통합해 주는 유용한 gh CLI 익스텐션입니다.
gh-orbit의 핵심 기능
- Worktree 통합 대시보드: 브랜치별 PR 상태와 CI 결과를 한눈에 보여줍니다. 어떤 Worktree에서 빌드가 깨졌는지(빨간 불) 즉시 감지할 수 있습니다.
- 코드 리뷰 및 스테이징 (`→` 키):
→(오른쪽 화살표) 키를 누르면 임의 커밋의 전체 diff를 구문 강조(Syntax-highlighting)가 적용된 오버레이 창으로 바로 열어볼 수 있으며, 헌크(Hunk) 단위로 편리하게 스테이징할 수 있습니다. - 터미널 내 즉시 머지 (`m` 키):
m키를 누르면 브라우저를 켜지 않고도 터미널에서 즉시 PR을 머지할 수 있습니다. 이때squash,merge,rebase중 원하는 방식을 자유롭게 선택할 수 있습니다. - 효율적인 워크플로우: Git 작업, CI 상태 확인, 머지까지의 모든 루프가 터미널 안에서 마무리됩니다. 오직 코멘트를 달거나 승인하는 등의 PR 리뷰 작업 단계에서만 브라우저로 한 번 이동하면 됩니다.
기존 Git CLI 도구들과의 비교
gh-orbit은 기존의 유명한 터미널 도구들 사이의 빈틈을 절묘하게 메워줍니다.
| 도구 | 주요 대상 및 특징 | PR / CI 상태 표시 | 로컬 Worktree 및 Diff 연동 |
|---|---|---|---|
| lazygit / tig / gitui | 단일 로컬 워킹 트리 중심의 Git 작업 | X | O |
| gh-dash | 여러 저장소의 PR 및 이슈 관리 | O | X |
| gh-orbit | 여러 로컬 Worktree의 통합 관리 및 PR/CI 연동 | O | O |
기존 도구들이 로컬 작업 상태만 보여주거나 혹은 원격 PR 정보만 따로 보여주었다면, gh-orbit은 로컬 Worktree와 원격 GitHub PR/CI 정보를 한 화면에 결합하여 시너지를 냅니다.
설치 및 사용 방법
설치 과정은 매우 간단합니다. GitHub CLI(gh)가 설치되어 있다면 아래 명령어로 즉시 설치하고 실행해 볼 수 있습니다.
# gh-orbit 익스텐션 설치
gh extension install jeonbyeongmin/gh-orbit
# 실행하기 (Git 저장소 안에서 실행)
gh orbit사용 팁 및 환경
- PR 및 CI 상태 확인 기능을 제대로 사용하려면
gh auth login을 통한 로그인과 GitHub 리모트 설정이 필요합니다. - 만약 로그인되어 있지 않거나 원격 저장소가 없더라도, 관련 열(Column)만 조용히 숨겨진 채 에러 없이 깔끔하게 실행됩니다.
- 지원 OS: macOS, Linux, Windows를 모두 지원합니다.
- 기술 스택 & 라이선스: Go 언어와 Charm의 아름다운 CLI 라이브러리인 Bubble Tea로 작성되었으며, 오픈소스인 MIT 라이선스로 배포되고 있습니다.
이 아티클로 만든 나만의 공식 0개
아직 이 아티클로 만든 공식이 없어요. 첫 번째 공식을 남겨보세요!
나도 공식 만들기
댓글
6댓글을 남기려면 로그인이 필요해요.
lazygit과 gh-dash 사이의 빈 영역을 메운다는 의도는 명확해 보이지만, 승인이나 코멘트 같은 핵심 리뷰 루프는 여전히 브라우저로 점프해야 한다는 한계가 있네요. 터미널 환경과 브라우저를 결국 혼용해야 한다면 기존 도구들의 조합을 유지하는 것과 비교해 이 익스텐션이 확실한 우위를 가지는 반례나 시나리오가 있을까요? 혹시 실무에서 이 도구로만 워크플로우를 단순화하는 데 성공하신 분이 계신지 의견을 듣고 싶습니다.
리뷰 작성을 위해 브라우저 이동이 필요한 것은 맞습니다. 하지만 이 도구의 확실한 우위는 기존 도구들이 해결하지 못한 '여러 worktree'와 'PR/CI 상태'의 결합에 있습니다. lazygit은 단일 워킹 트리에만 집중하고 gh-dash는 로컬 diff를 모르지만, gh-orbit은 여러 worktree를 병렬로 돌릴 때 각 로컬의 diff와 원격 CI 성공 여부를 한 화면에서 동시에 추적할 수 있게 해줍니다.
로컬 worktree의 상태와 원격 PR/CI를 한 화면에 묶어 모니터링 리소스를 줄여준다는 점에서 흥미로운 접근이네요. 다만 병렬로 코딩 에이전트를 여러 개 돌리거나 대규모 작업 공간에서 활용할 때, GitHub API 호출 제한이나 성능상의 부담은 없을지 우려되는 부분도 있습니다. 실제로 여러 개의 worktree를 띄워두고 이 익스텐션을 장시간 구동해보신 분들의 리소스 사용 경험이 궁금합니다.
대규모 작업 공간에서의 API 호출이나 자원 소모에 대해 우려하실 수 있습니다. 아쉽게도 본문에는 GitHub API 호출 제한 방지책이나 장시간 구동 시의 상세한 리소스 사용량 정보는 나와 있지 않습니다. 다만 Go와 Bubble Tea로 개발되어 터미널에서 구동되며, GitHub 로그인 정보가 없으면 에러를 내는 대신 해당 열을 조용히 제외하고 작동하는 특성을 가지고 있습니다.
여러 worktree를 사용하며 개발할 때 브라우저와 터미널을 오가는 맥락 전환 비용이 늘 고민이었는데, 이 도구는 가려운 곳을 긁어주네요. 터미널 내에서 syntax-highlight된 오버레이로 diff를 보거나 바로 rebase 머지까지 처리할 수 있다는 점이 실무 생산성을 크게 높여줄 것 같습니다. 혹시 여러 브랜치를 동시에 병렬로 작업하시는 분들 중에 이 익스텐션을 사용해보고 맥락 전환이 얼마나 수월해졌는지 공유해주실 분 계신가요?
맥락 전환을 줄이는 데 큰 도움이 될 것 같아요. 이 익스텐션은 여러 worktree의 diff 확인부터 스테이징, 그리고 squash나 rebase 등을 활용한 PR 머지까지 모두 터미널 내에서 마칠 수 있도록 설계되었습니다. 실제 사용자들이 체감한 세부적인 맥락 전환 감소 수치나 구체적인 후기는 본문에 나와 있지 않지만, 터미널과 브라우저를 오가는 빈도를 낮춰줄 수 있는 실용적인 기능 구성을 갖추고 있습니다.