AI 뉴스

Show GN: gh-orbit – 여러 worktree의 PR·CI·diff를 한 터미널에서 다루는 gh 익스텐션

노동1호 2026. 6. 24. 21:01

2026년 6월 현재, 깃허브 워크플로의 가장 큰 마찰은 컨텍스트 스위칭입니다. 기능 브랜치를 여러 개 동시에 굴리거나 코딩 에이전트를 병렬로 띄워 놓으면, worktree마다 자기 커밋 그래프·안 커밋한 diff·CI 도는 열린 PR이 따로 노는데 이걸 따라가려면 git, gh, 브라우저 탭을 계속 오가야 합니다. jeonbyeongmin/gh-orbit은 이 셋을 터미널 하나의 TUI 대시보드로 묶는 gh CLI 익스텐션입니다.

gh-orbit terminal TUI dashboard PR CI worktree

왜 필요한가: 로컬 git과 원격 PR·CI의 빈칸

기존 도구들은 각각 한쪽만 봅니다.

| 도구 | 강점 | 한계 |

|------|------|------|

| lazygit, tig, gitui | worktree 하나의 커밋 그래프·스테이징·diff | PR·CI 상태는 모름 |

| gh-dash | 여러 저장소의 PR·이슈 대시보드 | 로컬 worktree·diff는 모름 |

| Fork (GUI) | Fork-style 커밋 그래프 + PR 리뷰 | GUI, 터미널 워크플로와 단절 |

| gh-orbit | 로컬 git 그래프 + PR·CI·머지 한 화면 | 초기 WIP |

gh-orbit은 README에서 스스로를 "Fork-style commit-graph-first workflow with PR review sitting next to it"이라 정의합니다. 즉 Fork의 커밋 그래프 중심 경험을 터미널로 옮기고, 그 옆에 PR 리뷰/머지를 붙인 형태입니다.

핵심 기능: 한 화면에 worktree의 모든 상태

gh-orbit terminal TUI dashboard PR CI worktree

README 기준으로 gh-orbit이 제공하는 핵심 요소는 다음과 같습니다.

  • Fork-style 레이아웃 — 왼쪽 refs 사이드바, 오른쪽 컬럼 상단에 커밋 그래프, 하단에 Commit / Changes
  • 통합 revision walk--all 기본값으로 로컬·원격·태그를 한 번에 그래프화. refs 패널에서 enter를 누르면 그래프 커서가 그 ref tip으로 점프 (base 변경 없음)
  • Commit row 컬럼 규칙graph | message (chips + subject) | author | hash | authored 순. 해시·시간은 우측 고정, 메시지 컬럼이 truncation을 흡수, chips → author → subject 순으로 잘림
  • %D ref decoration — 브랜치/태그를 typed entry로 파싱해 메시지 앞에 chip으로 렌더
  • Commit 탭 — author/email, ISO 8601 날짜, parent 해시, %G? sign-status (Signed good / Unsigned / …), 전체 메시지 바디
  • Changes 탭 — 좌측 파일 리스트 (git show --numstat 파싱으로 자체 +N -M 컬러 렌더) + 우측 follower patch 뷰포트. 파일 커서 이동 시마다 patch 자동 리로드
  • d = 풀스크린 patch 오버레이 — 포커스된 커밋의 전체 diff를 syntax-highlight 오버레이로 열기. esc/q로 닫기 (앱 종료 아님)
  • Vim-style 키 바인딩tab 패널 포커스 순환 / j k g G 이동 / h l Commit·Changes 탭 전환 / ctrl+↑↓ 그래프·탭 분할 5% 단위 리사이즈 / ctrl+d/u Changes 패치 스크롤 / F 백그라운드 git fetch --all / P 백그라운드 git pull (~/.config/gh-orbit/config.toml[pull] strategy 우선, pull.rebase/pull.ff 폴백) / r refs+log 리로드 / q 종료
  • internal/gitgit log, git show --numstat, git show -p, git show --no-patch, refs decoration, git fetch 모두 typed wrapper로 감싸 사용자 git 바이너리에 shell-out. .gitconfig·훅·서명·LFS 그대로 작동
  • PR·CI 대시보드 — worktree별 브랜치의 PR·CI 상태를 한눈에. 어느 worktree의 CI가 빨간지 즉시 보임 (어떤 브랜치를 손대야 하는지 즉시 식별)
  • 임의 커밋의 diff 오버레이 — 그래프에서 커밋 선택 → 전체 diff를 syntax-highlight 오버레이로 펼치기
  • 훅 단위 스테이징 — 패치 뷰포트 안에서 hunk 단위로 스테이징
  • 터미널 PR 머지m 키로 PR을 squash / merge / rebase 선택 후 터미널에서 바로 머지

설치와 권한

설치는 gh CLI 한 줄이면 끝입니다.


gh extension install jeonbyeongmin/gh-orbit
gh orbit

git 저장소 안에서 실행하면 됩니다. PR·CI 기능은 gh auth login + GitHub 리모트가 필요하지만, 권한이 없으면 해당 컬럼만 조용히 빠지고 에러는 발생하지 않습니다. macOS·Linux·Windows 모두 지원하며 MIT 라이선스, Go + Bubble Tea로 작성되었습니다.

다른 도구와 어떻게 다른가

README의 자기 위치 정의가 명확합니다.

> "lazygit / tig / gitui — worktree 하나의 git만 안다. gh-dash — 여러 저장소의 PR·이슈만 안다. gh-orbit — 그 둘 사이의 빈칸을 메운다. 한쪽은 PR·CI를 모르고, 다른 쪽은 로컬 worktree·diff를 모르는데, gh-orbit은 그 둘을 한 화면에 묶는다."

worktree를 여러 개 동시에 굴리는 사람이 주된 타깃입니다. 단일 브랜치에서 git만 한다면 lazygit으로 충분하고, 로컬은 안 보고 PR 큐만 훑는다면 gh-dash가 더 가볍습니다. gh-orbit이 빛나는 지점은 여러 worktree × PR × CI가 동시에 굴러갈 때입니다.

운영 팁: 상태 표시줄과 키 바인딩

README 기준으로 알아두면 좋은 운영 디테일은 다음과 같습니다.

  • 상태 표시줄 — help row 옆에 fetch 진행률, 에러, 해시 복사 확인 메시지가 뜸. 백그라운드 F / P의 결과를 즉시 확인할 수 있음
  • R 키는 예약 — 현재는 Rebase 액션이 들어갈 자리. 현재는 별도 동작 없음
  • P pull 전략 폴백~/.config/gh-orbit/config.toml[pull] strategy = "ff-only" | "merge" | "rebase" 지정 → 우선 적용, 없으면 git의 pull.rebase / pull.ff → 그래도 없으면 --ff-only 기본
  • TUI stdout 소유 — 런타임 로그는 tail -f ~/.local/state/gh-orbit/log로 따라가야 함 (TUI가 stdout을 점유)
  • 권한 부재 시 침묵gh auth 안 된 환경에서 PR·CI 컬럼만 자동으로 빠짐. 빈 화면이 의도된 동작

함께 보면 좋은 도구

  • git-parsec — 티켓 하나로 worktree 생성부터 PR 머지까지 자동화
  • gh-dash — GitHub PR·이슈 대시보드를 CLI에서 보기
  • Git 워크플로 향상 15가지 팁 모음
  • GitHub CLI 2.0 릴리스 노트 (확장기능 포함)

전망

README는 스스로를 Early WIP라 정의합니다. 현재 MVP 범위는 로컬 git 절반(Fork 대체)이며, PR 리뷰/머지는 follow-up 마일스톤입니다. 즉 지금 시점에 gh-orbit을 도입하면 로컬 커밋 그래프 + Changes 탭 + 백그라운드 fetch/pull까지는 안정적으로 쓸 수 있고, PR·CI 대시보드 컬럼은 부분적으로 채워진 상태라는 뜻입니다. 다만 README의 키 바인딩 표, status line, internal/git wrapper 설계가 이미 견고하게 잡혀 있어, follow-up 마일스톤이 머지되면 "Fork + gh-dash"를 한 번에 대체할 도구로 자리 잡을 가능성이 큽니다.

요약

  • gh-orbit = Fork-style 로컬 git 그래프 + GitHub PR·CI 대시보드를 하나의 TUI로 묶은 gh CLI 익스텐션
  • 타깃: 여러 worktree를 동시에 굴리거나 코딩 에이전트를 병렬로 띄우는 개발자
  • 설치: gh extension install jeonbyeongmin/gh-orbit 한 줄
  • 강점: lazygit·tig·gitui의 로컬 git 깊이 + gh-dash의 PR·CI 너비를 한 화면에서 다룸
  • 현재 상태: Early WIP. 로컬 git 절반은 안정, PR·CI는 follow-up 진행 중
  • 환경: macOS·Linux·Windows, MIT, Go + Bubble Tea