GitUI - Git용 터미널 UI 치트시트
gitui는 Rust로 작성된 빠르고 키보드 중심의 Git 터미널 UI입니다. 대형 리포지토리에서도 반응성 있는 TUI를 사용하여 대화형 스테이징(개별 hunk 및 라인까지), 커밋, 브랜칭, rebasing, stashing, 로그 탐색을 가능하게 합니다. Electron 기반 Git GUI의 리소스 일부만 사용합니다. raw git와 전체 그래픽 클라이언트 사이의 훌륭한 중간 지점입니다.
설치
| 플랫폼 | 명령어 |
|---|
| Cargo (모든 플랫폼) | cargo install gitui |
| macOS (Homebrew) | brew install gitui |
| Arch Linux | sudo pacman -S gitui |
| Fedora | sudo dnf install gitui |
| Windows (Scoop) | scoop install gitui |
| Nix | nix-env -iA nixpkgs.gitui |
실행
| 명령어 | 설명 |
|---|
gitui | 현재 리포지토리에서 열기 |
gitui -d /path/to/repo | 특정 repo 열기 |
gitui -w /path/to/worktree | 작업 디렉터리 설정 |
gitui --help | 전체 옵션 목록 |
gitui --version | 버전 |
전역 네비게이션
| 키 | 작업 |
|---|
1–5 | 탭 전환 (Status, Log, Files, Stashing, …) |
Tab | 패널 순환 |
← / → 또는 h / l | 창 사이 이동 |
↑ / ↓ 또는 j / k | 선택 이동 |
? | 상황별 도움말 (현재 뷰의 모든 키 표시) |
Esc | 뒤로 / 취소 |
q | 종료 |
Status & Staging
| 키 | 작업 |
|---|
Space | 선택된 파일 또는 hunk stage / unstage |
Enter | 선택 항목의 diff에 초점 |
s | Stage |
S | 모두 stage |
u | Unstage |
U | 모두 unstage |
D | Reset (파일 변경 사항 삭제) |
c | 커밋 팝업 열기 |
커밋
| 키 | 작업 |
|---|
c | Staged 변경 커밋 |
Ctrl+d (커밋 msg에서) | 메시지 편집기 외부 열기 |
a | 마지막 커밋 수정 |
| Sign-off / verify | git 설정을 통해 설정 가능 |
브랜치
| 키 | 작업 |
|---|
b | 브랜치 뷰 열기 |
c (브랜치에서) | 브랜치 생성 |
Enter | 선택된 브랜치 checkout |
r | 브랜치 이름 바꾸기 |
D | 브랜치 삭제 |
m | 선택된 브랜치를 현재로 병합 |
R | 현재를 선택된 브랜치로 rebase |
Log, Stash & Remotes
| 키 | 작업 |
|---|
2 | Log 탭 열기 |
Enter (커밋에서) | 커밋 세부사항/diff 검사 |
4 | Stashing 탭 |
s | 변경 사항 stash |
a (stash에서) | stash 적용 |
D (stash에서) | stash 드롭 |
f | Fetch |
p | Push |
P | Pull |
설정
| 경로 | 목적 |
|---|
~/.config/gitui/key_bindings.ron | 사용자 정의 키 바인딩 |
~/.config/gitui/theme.ron | 색상 테마 |
gitui -t mytheme.ron | 특정 테마로 실행 |
일반적인 워크플로우
# 원하는 hunk만 검토 및 stage, 그 후 커밋
gitui # hunk에서 Space 누르고, c로 커밋
# git 플래그 암기 없이 대화형 브랜치 + rebase
gitui # b로 브랜치 열기, R로 선택된 것으로 rebase
# 빠른 stash, 컨텍스트 전환, 복구
gitui # 4 (stash tab), s to stash; 나중에 a to apply
GitUI vs 다른 Git 인터페이스
| 측면 | GitUI | lazygit | git CLI |
|---|
| 언어 | Rust | Go | C |
| 큰 repo에서의 속도 | 매우 빠름 | 빠름 | 빠름 |
| Hunk/line staging | 예 | 예 | git add -p |
| 학습 곡선 | 낮음 | 낮음 | 높음 (플래그) |
| 리소스 사용 | 최소 | 최소 | 최소 |
리소스