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

GG

0

GG는 분산 버전 관리 시스템인 Jujutsu(JJ)를 위한 GUI 클라이언트입니다. 개발자 gulbanana가 만든 이 프로그램은 Jujutsu의 조합 가능한 프리미티브를 활용하여 저장소 내 리비전과 변경사항을 대화형으로 보여주는 데스크톱 및 웹 애플리케이션을 제공합니다.

개발 도구

소개

GG는 분산 버전 관리 시스템인 Jujutsu(JJ)를 위한 GUI 클라이언트입니다. 개발자 gulbanana가 만든 이 프로그램은 Jujutsu의 조합 가능한 프리미티브를 활용하여 저장소 내 리비전과 변경사항을 대화형으로 보여주는 데스크톱 및 웹 애플리케이션을 제공합니다.

상세정보

리비전 로그 탐색 및 편집

  • 왼쪽 패널에서 로그를 조회하고 브라우징할 수 있습니다.
  • 리비전을 클릭해 선택하고, Shift 클릭으로 다중 선택이 가능합니다.
  • 리비전을 더블 클릭하면 변경 가능한 경우 편집 모드로 진입하고, 변경할 수 없는 리비전에서는 새 자식 리비전을 생성합니다.
  • 오른쪽 패널에서 리비전을 검사하고 편집하며, 설명 작성, 명령 실행, 부모 리비전과 변경사항 확인이 가능합니다.

드래그 기반 리베이스 및 정리

  • 리비전을 드래그해 리베이스하고, 부모 리비전 안팎으로 이동시켜 머지를 추가하거나 서브트리 전체를 옮길 수 있습니다.
  • 단순히 리비전을 버리는 용도로도 사용할 수 있습니다.
  • 파일을 드래그해 새 리비전으로 스쿼시하거나 부모 리비전에서 복원해 변경을 되돌릴 수 있습니다.
  • 북마크를 드래그해 설정하거나 삭제할 수 있습니다.

컨텍스트 작업 및 원격 동기화

    li>위 항목들을 마우스 오른쪽 클릭하면 상황에 맞는 추가 작업 메뉴를 사용할 수 있습니다.
  • 하단 바에서 git 변경사항을 푸시하거나 페치할 수 있습니다.
  • 외부 도구가 설정되어 있다면 diff를 보거나 충돌을 외부 도구에서 해결할 수 있습니다.
  • 오른쪽 하단의 ⟲ 버튼으로 어떤 작업이든 실행 취소할 수 있습니다.

패키지 관리자를 통한 설치

  • macOS: brew install --cask gg
  • Windows: winget install --id gulbanana.gg --exact
  • Tauri 지원 플랫폼: cargo install --locked gg-cli

시작 방법

  • 吉林시 작업 공간에서 gg 또는 gg gui 명령을 실행하면 네이티브 애플리케이션이 시작됩니다.
  • gg web 명령은 웹 브라우저에서 열립니다.
  • 저장소 경로를 인자로 전달하거나, GUI에서 “Repository -> Open” 메뉴를 사용할 수 있습니다.
  • 직접 다운로드한 릴리스 파일 사용 시 macOS의 /Applications/gg.app/Contents/MacOS/ 또는 Windows의 C:Program Filesgg 경로를 PATH에 추가해야 합니다.
  • POSIX 셸 사용 시 Windows에서는 start gg로 백그라운드 실행이 가능합니다.

지원 환경

  • Windows, macOS, Linux를 지원합니다.
  • Linux의 경우 .appimage, .deb, .rpm 빌드가 제공되지만 macOS 및 Windows만큼 잘 테스트되지 않았습니다.

제한 사항 및 확인사항

  • GG는 관리가 적극적이지 않아 버그가 있을 수 있습니다. Operation log 덕분에 저장소가 손상되지 않지만, 백업을 만들어두는 것이 좋습니다.
  • 저장소가 “너무 크면” 성능을 위해 일부 기능이 비활성화될 수 있습니다.
  • revset-aliases.immutable_heads() 설정은 편집 가능한 히스토리 양을 결정하므로 특히 중요합니다.

화면으로 보는 주요 기능

Git 저장소 브랜치 및 변경사항 보기

Git 저장소 브랜치 및 변경사항 보기

Git 저장소의 브랜치 트리가 왼쪽에 표시되어 있으며, 현재 선택된 브랜치는 'ovvvzvtv'입니다. 오른쪽에는 'cli: add 'explode' command'라는 변경사항이 포함된 'Working copy'가 표시되어 있고, 이 변경사항의 저자는 Thomas Castiglione이며, 'Squash'와 'Restore' 버튼이 있습니다. 하단에는 'origin', 'upstream', 'Undo' 등의 버튼이 있습니다.

변경사항에 대한 컨텍스트 메뉴

변경사항에 대한 컨텍스트 메뉴

변경사항 목록에서 'txvqoqru cargo: bump the cargo-dependencies group' 항목에 마우스 오른쪽 버튼을 클릭한 상태로, 'New child', 'New inserted parent', 'Edit as working copy', 'Revert into working copy', 'Duplicate', 'Abandon', 'Squash into parent', 'Restore from parent', 'Create bookmark…' 등의 컨텍스트 메뉴가 표시되어 있습니다.

시스템 요구사항

Jujutsu(JJ) 설치 없이도 동작하지만, GG가 다루지 않는 작업을 포함한 모든 기능을 활용하려면 Jujutsu를 별도로 설치하는 것이 권장됩니다. Git 2.41.0 이상이 필요합니다.