개발자라면 필수적으로 사용하는 Git과 Github! 그러나 터미널로만 깃허브를 제어하기엔 불편한 감이 있는데요, 이번 블로그에선 깃허브 사용을 수월하게 도와주는 깃허브 GUI 중 하나인 GitHub Desktop의 설치와 환경설정, 그리고 로컬에 있는 프로젝트를 업로드/클라우드에 있는 프로젝트를 로컬에 가져오기에 대해 알아보겠습니다.
왜 깃허브를 써야할까?
먼저 짧게 깃허브의 필요성에 대해 짚고 가겠습니다. 깃허브는 개발자가 코드를 저장, 공유 및 공동 작업할 수 있는 웹 기반 플랫폼으로, 버전 제어, 문제 추적 및 다양한 기능을 제공합니다. 또한 풍부한 오픈소스 프로젝트를 제공하며, 다양한 개발자가 개발에 참여를 할 수 있는 공간을 제공합니다.
왜 Github Desktop을 써야할까?
깃허브는 개발자가 코드를 저장하고 버전을 관리하며, 팀원과 협업할 수 있도록 돕는 핵심 플랫폼입니다. 하지만 Git 자체는 CLI 기반 명령어가 많아 초심자에게 난이도가 높고, 단순한 작업도 여러 명령을 기억해야 하는 불편함이 있습니다.
이때 GitHub Desktop 같은 GUI 도구는 커밋, 푸시, 브랜치 생성, 충돌 해결 같은 Git의 주요 기능을 시각적인 인터페이스로 제공하여 작업 흐름을 훨씬 직관적으로 만듭니다. 그 결과, Git 사용에 익숙하지 않은 개발자도 쉽게 깃허브와 프로젝트를 연동하고 관리할 수 있게 되어 생산성과 협업 효율이 크게 향상됩니다.
-- 이 블로그는 깃허브 계정을 이미 소유하고 있고, PyCharm을 이미 다운 받았다는 가정 하에 작성되었습니다 --
깃허브 데스크탑 설치
https://desktop.github.com/download/
Download GitHub Desktop
Simple collaboration from your desktop
desktop.github.com
위 링크에서 깃허브 데스크탑을 다운받아 줍니다.
깃허브 데스크탑 사용
다운 받은 후 앱을 실행하면 로그인 창이 뜹니다.

저의 경우 이미 설치되었던 전적이 있어서 설정에 들어가서 다시 로그인을 합니다. 또한 설정에서는 Github Desktop을 자신의 취향에 맞게 커스터마이징을 할 수 있습니다.

로그인을 한 후, 작업 상황에 따라 새로운 레포지토리를 만들거나, 이미 존재하는 레포지토리를 클론해 올 수 있습니다.
레포지토리 클론

이미 존재하는 레포지토리를 클론하기 위해선 Clone Repository 버튼을 클릭한 후 깃허브 본인 계정에 연결되어있는 레포지토리를 선택하거나, 아니면 clone URL을 붙여넣으면 됩니다.
새로운 레포지토리 만들기
이번 포스팅에서는 Github Desktop에서 새로운 레포지토리를 만드는 법에 대해 자세히 다루어보겠습니다. Clone Repository 아래의 Create New Repository를 누르면 다음과 같은 화면이 뜨는데, 레포지토리 이름, 설명, 로컬 (본인 컴퓨터)에 저장할 위치, 추가할 Git Ignore, 그리고 사용할 라이선스를 선택할 수 있습니다.

이후 PyCharm에서 로컬 경로에 저장된 경로를 열고, 원하는 일을 해주시면 됩니다.


파이참에서 작업을 하면서 파일을 생성하다보면 다음과 같이 Add File to Git이라는 팝업창이 뜨는데 이때 꼭 add를 해주어야 git이 해당 파일을 트래킹 하며 해당 파일의 변화를 깃 저장소에 저장합니다.

이후 Github Desktop에 들어가보면 깃이 추척한 변경 사항이 changes 탭에 뜹니다. Commit n file to main 버튼을 눌러 메인 브랜치에 변경 사항을 저장합니다. 현재 사진의 오른쪽 위 버튼을 보면 Publish repository 라는 버튼이 있는데, 이 버튼이 있다면 아직 레포지토리가 원격 저장소에 반영되지 않고, 로컬 저장소에만 변경 사항들이 반영되었다는 뜻 입니다.

이 버튼을 누르면 그동안 로컬에만 존재하던 레포지토리가 정식으로 GitHub 원격 저장소에 생성되며, 그동안 적용한 모든 변경 사항들을 원격에서 볼 수 있게 됩니다.

위의 버튼을 누르면 왼쪽과 같은 창이 뜨는데, 원격 저장소에 어떤 이름으로 레포지토리를 만들어 반영할지 물어봅니다. 또한 Keep this code private이라는 체크박스를 통해 레포지토리의 가시성 (Public/Private)를 설정할 수 있습니다.
브랜치 생성

깃허브 데스크탑에서는 브랜치 또한 생성이 가능합니다. 현재까지는 main 브랜치에서 작업을 했지만, 많은 프로젝트의 경우 개인 브랜치, 혹은 테스트 브랜치 등 하나의 레포지토리 안에 여러 브랜치를 생성하여 관리합니다.
먼저 current branch를 클릭하면, 다음과 같은 창이 뜨는데, 위에 보면 New Branch 라는 버튼이 있습니다. 이 버튼을 누르면 브랜치를 생성할 수 있게 됩니다.

브랜치 생성을 누르면 다음과 같은 창이 뜨는데, 이때 원하는 브랜치 명을 작성하고 현재 checked out 된 브랜치의 상황에서 분기되어 새로운 브랜치를 만듭니다.

레포지토리를 퍼블리쉬 했던것 처럼, 브랜치 또한 현재 아직 로컬에만 존재하기 때문에 오른쪽 위의 Publish branch 버튼을 눌러 이 브랜치를 퍼블리싱 해줘야 합니다. 이 버튼을 누르면 이제 로컬에만 있던 브랜치가 원격 저장소에도 반영이 되며, Github 웹사이트에서 이 브랜치를 확인할 수 있게 됩니다.
브랜치 Merge
분기된 브랜치에서 열심히 작업한 이후, 최종적으로 해당 브랜치를 main에 머지해야하는 경우가 있습니다. 물론 깃허브 웹사이트에서 풀 리퀘스트를 보낼수도 있지만, 본인이 프로젝트 주인이라면 편하게 깃허브 데스크탑에서 merge를 진행할 수 있습니다

먼저 머지하고 싶은 브랜치로 이동합니다.
main 브랜치에 exampleBranch의 변경 사항을 저장하고 싶다면 먼저 main 브랜치로 이동해야 합니다.
이동 후 아래의 Choose a branch to merger into main 이라는 버튼을 클릭하면

다음과 같은 창이 뜹니다. 현재 exampleBranch는 main브랜치에서 분기해온 이후, 1개의 커밋이 저장되었기 때문에 This will merge 1 commit from exampleBranch into main 이라는 문구가 뜹니다. 아래의 파랑색 버튼을 누르면 exampleBranch의 변경 사항이 main 브랜치에 저장되며 정상적으로 merge가 진행됩니다. merge conflit 가 일어나는 경우는 이 포스팅에서 일단 다루지 않겠습니다.
원격 저장소에서 확인해보기

이제 원격 저장소에 본인의 계정으로 들어가면 Github Desktop을 이용해 만든 브랜치가 정상적으로 publish 되어있는 것을 보실수 있습니다. 커밋 또한 반영되어있는 것을 확인하실 수 있습니다.
마무리
이번 포스팅에서는 GitHub Desktop이라는 GitHub의 GUI의 일종의 사용법을 알아보았는데요, GUI를 통해 보다 쉽고 편리하게 git 시스템을 사용하며, github에 퍼블리싱 할 수 있으므로 많은 분들이 사용해보시면 좋을듯 합니다.