본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

GitUI

0

GitUI는 터미널에서 작동하는 빠른 Git GUI 클라이언트로, Rust로 작성되었습니다. 키보드 전용 인터페이스를 통해 Git 저장소의 상태 확인, 커밋, 스테이지, 브랜치 관리 등을 직관적으로 수행할 수 있습니다.

버전 관리오픈소스키보드 전용터미널

소개

GitUI는 터미널에서 작동하는 빠른 Git GUI 클라이언트로, Rust로 작성되었습니다. 키보드 전용 인터페이스를 통해 Git 저장소의 상태 확인, 커밋, 스테이지, 브랜치 관리 등을 직관적으로 수행할 수 있습니다. 개발자 extrawurst가 만든 이 도구는 대형 저장소에서도 반응성이 뛰어나며, MIT 라이선스 하에 오픈소스로 제공됩니다.

상세정보

키보드 전용 직관적 제어

마우스 없이 키보드만으로 모든 작업을 수행할 수 있으며, 컨텍스트 기반 도움말로 자주 사용하는 단축키를 외울 필요가 없습니다.

커밋 및 변경사항 관리

변경사항을 검사하고, 커밋을 생성하거나 수정할 수 있으며, pre-commit, commit-msg, post-commit, prepare-commit-msg 후크를 지원합니다. 파일, 헝크, 라인 단위로 스테이지, 언스테이지, 되돌리기, 리셋이 가능합니다.

스태시 관리

스태시를 저장, 팝, 적용, 삭제, 검사할 수 있어 작업 중인 변경사항을 임시로 저장하고 나중에 복구하는 데 유용합니다.

원격 저장소 상호작용

원격 저장소로부터 푸시 및 풀(fetch)을 수행할 수 있으며, 브랜치 목록을 확인하고 생성, 이름 변경, 삭제, 체크아웃, 원격 브랜치 관리를 지원합니다.

커밋 로그 및 diff 검색

커밋 로그를 찾아보고 검색할 수 있으며, 커밋된 변경사항의 diff를 확인할 수 있습니다.

반응형 터미널 UI

터미널 크기에 따라 유연하게 적응하는 반응형 사용자 인터페이스를 제공하며, 비동기 Git API를 통해 부드러운 제어가 가능합니다.

서브모듈 지원

Git 서브모듈을 지원하여 복잡한 저장소 구조도 관리할 수 있습니다.

GPG 커밋 서명

GPG를 이용한 커밋 서명을 지원하지만, 일부 제한 사항이 있습니다(참고: Issue #97).

다운로드·설치 방법

Windows 사용자는 다음 방법 중 하나로 GitUI를 설치할 수 있습니다.

  • Winget을 사용하는 경우: winget install gitui
  • Scoop을 사용하는 경우: scoop install gitui
  • Chocolatey를 사용하는 경우: choco install gitui
  • 수동 설치: GitHub 릴리스 페이지에서 gitui-win.tar.gz 또는 gitui-win.msi 파일을 다운로드하여 실행할 수 있습니다.

설치 후 터미널에서 gitui 명령을 입력하면 프로그램이 실행됩니다.

기본 사용법/명령어

GitUI를 실행하면 터미널 전체 화면에 인터페이스가 표시됩니다. 화면 하단에 표시되는 명령어 안내를 참고하여 작업할 수 있습니다.

  • ←→↓↑: 메뉴 및 파일 목록 탐색
  • [enter]: 선택한 항목 스테이지 또는 파일 열기
  • [D]: 선택한 항목 리셋
  • [→]: diff 보기
  • [h]: 도움말 보기
  • [q]: 프로그램 종료

Status 탭에서는 스테이지되지 않은 변경사항과 스테이지된 변경사항을 확인할 수 있으며, Log 탭에서는 커밋 기록을 browse 및 검색할 수 있습니다.

이런 경우에 유용합니다

터미널에서 대부분의 작업을 수행하는 개발자가 Git 명령어를 기억하기 어려운 경우, GitUI를 사용하면 키보드만으로 시각적인 인터페이스를 통해 Git 작업을 효율적으로 수행할 수 있습니다. 특히 대형 저장소에서 기존 Git GUI가 느려지거나 unresponsiveになる 현상을 겪는 사용자에게 적합합니다. 스테이지, 언스테이지, 스태시, 브랜치 관리 등을 자주 수행하는 워크플로우에서 유용합니다.

지원 환경·시스템 요구사항

GitUI는 Windows 64비트 시스템에서 실행할 수 있으며, 공식 배포 파일은 gitui-win.tar.gz (단일 바이너리)와 gitui-win.msi (설치 프로그램) 형태로 제공됩니다. 소스 코드로부터 빌드하려면 Rust 1.88 이상이 필요하며, OpenSSL 의존성을 빌드하기 위해 Perl 5.12 이상과 C 컴파일러(MSVC, GCC 또는 Clang)가 필요합니다. 테스트 스위트를 실행하려면 Python이 필요합니다.

최신 버전·업데이트

현재 버전은 0.28.1이며, GitHub 저장소의 릴리스 페이지에서 최신 버전을 확인할 수 있습니다. 개발 로그와 업데이트 내역은 저장소의 커밋 히스토리 및 릴리스 노트에서 확인할 수 있습니다.

제한 사항·확인 사항

sparse 저장소 지원이 현재 구현되지 않았습니다(참고: Issue #1226). HTTPS 저장소 사용 시 credential.helper를 명시적으로 구성해야 합니다(참고: Issue #800). 현재 버전은 완전한 Git 셸 대체를 목표로 하지 않으며, Git 셸과 함께 사용할 때 가장 효과적입니다. stashing, 라인 또는 헝크 단위 스테이징과 같은 특정 작업에서 Git 셸의 불편함을 해소하는 데 중점을 두고 개발 중입니다.

FAQ

  • GitUI는 무료로 사용할 수 있나요?
    네, MIT 라이선스 하에 오픈소스로 제공되어 무료로 사용할 수 있습니다.
  • Windows에서만 사용할 수 있나요?
    아니요, Windows 외에도 Linux, macOS에서도 사용할 수 있으며, 각 플랫폼용 바이너리가 공식적으로 제공됩니다.
  • 터미널에서만 작동하나요?
    네, GitUI는 터미널 기반 텍스트 사용자 인터페이스(TUI) 애플리케이션으로, 그래픽 인터페이스가 아닌 터미널에서 실행됩니다.
  • 설치 없이 바로 사용할 수 있나요?
    네, GitHub 릴리스에서 gitui-win.tar.gz를 다운로드하여 압축을 풀면 바로 실행할 수 있는 단일 바이너리를 얻을 수 있습니다.

화면으로 보는 주요 기능

GitUI 상태 화면

GitUI 상태 화면

GitUI 애플리케이션의 상태 화면으로, 왼쪽 상단에 '/Status' 탭과 'Log' 탭이 있으며, 현재 'Status' 탭이 선택되어 있다. 왼쪽에는 'Unstaged Changes [1]' 섹션이 있고, 여기에는 'netfilter' 디렉토리 아래의 여러 헤더 파일이 나열되어 있으며, 'ipt_TTL.h' 파일이 선택되어 있다. 그 아래 'Staged Changes [2]' 섹션에는 'include/uapi/linux/netfilter' 디렉토리 아래의 'xt_connmark.h'와 'xt_dscp.h' 파일이 삭제된 상태로 표시되어 있다. 오른쪽에는 'Diff: include/uapi/linux/netfilter_ipv4'라는 제목의 코드 비교 창이 있으며, '#ifdef _IP_TTL_H'와 '#define _IP_TTL_H' 블록 내의 C 코드가 보인다. 코드는 'enum' 구조체와 'IPT_TTL_SET', 'IPT_TTL_INC', 'IPT_TTL_DEC' 등의 정의를 포함하고 있다. 하단에는 'Focus Stage [2]', 'Stage Item [enter]', 'Reset Item [D]', 'Nav [←→↓↑]', 'Diff [→]', 'Help [h]', 'Quit' 등의 명령어가 있는 명령줄이 있다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.