최근 수정 시각 : 2025-08-29 16:22:40

GitHub Desktop


[[GitHub|
파일:GitHub 아이콘 화이트.svg파일:GitHub 로고 화이트.svg
]]
{{{#!wiki style="min-height: calc(1.5em + 5px); margin: 0 -10px -5px"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px"
<colbgcolor=#000,#000><colcolor=#fff,#fff> 관련 인물 톰 프레스턴 워너
서비스 저장소 · GitHub Pages · GitHub Action · GitHub Packages · GitHub Wiki · GitHub Gist · GitHub Copilot
클라이언트 GitHub CLI · GitHub Desktop
오픈 소스 Electron · Atom · Tree-sitter
관련 문서 사건 사고 · GitHub Universe · npm }}}}}}}}}
<bgcolor=#682286,#682286> GitHub Desktop
파일:GitHub Desktop.svg
<colbgcolor=#682286,#682286><colcolor=#fff,#fff> 개발 GitHub
출시 2017년 9월 19일#
안정 버전 v3.5.2(2025년 7월 21일)
언어 TypeScript
프레임워크 React, Electron
플랫폼 Windows, macOS
라이선스 MIT 라이선스
링크 #[1]파일:GitHub 아이콘.svg파일:GitHub 아이콘 화이트.svgdoc
1. 개요2. 특징3. 단점4. 기타

1. 개요

파일:GitHub Desktop light.png파일:GitHub Desktop dark.png
GitHubGit 및 GitHub용 데스크탑 GUI 클라이언트.

2. 특징

  • 히스토리 편집 작업이 직관적이다. amend 등 기본적인 편집뿐 아니라 일상적인 리베이스 작업 대부분을 GUI에 어울리는 인터페이스로 제공한다. 예를 들어 히스토리 뷰에서 커밋을 드래그 앤 드롭함으로써 squash와 reorder가 가능하다.
  • GitHub과 연동성이 좋다. 예를 들어 최초 푸시를 위해서 수동 저장소 생성, 리모트 등록 등의 과정이 필요하나 Desktop의 경우 저장소 생성이 필요한 경우를 감지하면 다이얼로그 하나로 저장소를 생성할 수 있다. 이외에도 풀 리퀘스트, 깃헙 알림# 등 기능 연동이 앱 내에서 바로 가능하다.
    • GitHub 사용을 강제하지 않는다. 리모트 제공자가 깃헙이 아닌 다른 서비스여도 핵심 기능들이 전부 동작하며, 깃 특성상 로컬에서만 쓸 수도 있다. GitHub 연동 기능이 풍부한 것은 맞으나 이는 리모트가 깃헙 저장소일 때만 활성화되는 것으로, 다른 서비스에서도 GitHub 고유의 기능을 제외하면 모든 기능이 사용 가능하다.
  • 타 툴과의 연동성이 좋다. IDE의 역할을 대체하거나 관련 기능을 전부 통합하는 대신, 코드 수정이 필요할 때는 IDE를, 상세한 Git 작업이 필요할 때는 적절히 터미널이나 웹 GitHub 링크를 열 수 있게 설계해두어 워크플로에 기능 충돌이 생기지 않는다. 어떤 IDE를 열 것인지 직접 설정할 수도 있다.#
  • 워크플로우 제안이 직관적이다. 로컬 변경사항 푸시, PR 생성 등 다음 작업이 필요할 때마다 summary 뷰에서 실시간으로 제안이 생성되며, 많은 경우 이 제안만 따라도 실수 없이 작업이 가능하다.
  • hunk 단위만 가능한 git CLI와 다르게, lazygit처럼 라인 단위 partial commit이 가능하다.#

3. 단점

  • Electron 기반이다 보니 무겁다. 특히 RAM이 적은 저사양 컴퓨터에서 이 단점이 더욱 크게 체감된다.
  • 깃허브 연동 기능이 너무 협소하다. GitKraken 등 다른 서드파티 클라이언트와 비교해 봐도 공식 툴이라는 게 믿기 어려울 정도. 이슈나 풀 리퀘스트 작업을 상세하게 할 수 있는 것도 아니고, PR은 체크아웃 정도만 가능하다. 사실상 이슈 생성, PR 생성 등의 기능이 있어도 실제 생성 작업은 사용자가 웹 링크로 넘어가서 똑같이 수동으로 해야 한다. treecmp는 원래 깃 자체나 대부분의 IDE에도 있는 기능이니 '깃허브 클라이언트'로써의 특성이 부족하다. GitHub CLI가 다양하고 세세한 API를 더욱 잘 활용할 정도.
  • 대부분의 타 Git 클라이언트와 다르게 히스토리를 그래프 형태로 보여주지 않는다. #1634, #9452 등의 시도들이 있었으나 10년 가까이 지난 지금도 아무런 진전이 없다. 특히 여러 브랜치와 머지가 진행되는 저장소일 때 매우 불편하다.
    • GitHub 웹 UI와 비슷하게 브랜치 히스토리 정렬을 지원하지 않고, 반드시 reverse chronological order로 고정된다. 때문에 최초 커밋을 찾기 위해선 일일히 스크롤하는 방법밖에 없다.#
  • Linux를 공식적으로 지원하지 않는다.# 소스 자체는 Electron 기반이라 포팅 난이도는 높지 않아 GitHub Desktop Plus라는 이름의 비공식 포크가 존재한다.[2]
  • 여러 리모트를 지원하지 않는다. 해당 리모트 제공자가 GitHub인지 여부와 무관하게, 저장소 설정에는 primary remote 하나만 존재하고 origin 리모트 또는 없다면 가장 최근에 생성된 리모트만을 선택한다.# 특히 개인 미러 저장소나 여러 하드 포크에서 작업한다면 문제가 된다.

4. 기타

  • 깃허브 이모지 렌더를 지원한다. 웹 버전과 다르게 마크다운은 지원하지 않는다.
  • CLI에서 $ github <저장소 경로>로 열 수 있다.# 리눅스 버전의 경우 $ github-desktop이 필요하다.

[1] 과거 주소는 desktop.github.com이었으나 깃허브 사이트 통합 이후 현재 주소로 리다이렉트된다.[2] 과거 shiftkey 버전의 경우 2025년 2월 업데이트를 마지막으로 개발이 지체되어 있으며, 인증 및 XDG open, 키링 서비스, external editor 및 terminal 설정 등에서 리눅스 환경과의 연계에서 현저히 저조한 호환성을 보여준다.