
지금까지는 나 혼자서 나만의 버전 관리를 위해 github를 사용해왔었는데, 이번에 2024 멋사 해커톤에서 처음으로 백과 프론트 여러 명의 개발자와 협업을 하면서 실제 개발뿐만 아니라 깃 사용에 있어서도 크고 작은 어려움을 겪었다.
그래서 github를 더 쉽게 사용해줄 수 있게 해주는 GUI 프로그램인 'GitKraken'을 공부해보고자 한다.
사실 GitKraken에 대해 알게된 것은 오래 전이었지만, 이런 저런 이유로 필요할 때 대충 켜서 야매(?)로 보기만 하고 자세한 사용법은 알지 못했다. 대충 사용할 때도 꽤 편리했었는데, 제대로 알고 사용한다면 정말 행복한 github 생활을 할 수 있을 것만 같았다.

버전관리 프로그램인 Github를 사용하기 쉽도록, 히스토리를 GUI로 시각화해주는 프로그램
Gitkraken 외에도 동일한 목적을 가진 도구로 Source Tree와 Github Desktop이 있다.
그중에서도 Gitkraken이 가장 간결하고 편리한 기능을 제공한다고 하여 Gitkraken을 공부해보고자 한다.
위 사이트에서 gitkraken을 다운받을 수 있다. 앱스토어에는 다운받을 수 없기에 꼭 위 사이트를 통해 다운받아야 한다.
다운을 받은 후 로그인을 하고, github 계정을 연동시키면 된다.

Gitkraken을 실행하면 보이는 첫 화면이다.
실행할 레포지토리를 선택하는 방법에는 크게 두 가지가 있다.
1) open : 로컬 작업 공간에 존재하는 폴더를 오픈한다.
2) clone : remote 저장소, 즉 github에서 레포지토리를 불러온다.

좌측 상단의 'Browse' 버튼을 누르면 파일 탐색 창이 뜨고, 본인이 작업할 폴더를 열면 된다.

clone을 선택하면, 위와 같이
Where to clone to -> 내 로컬 환경에서 어느 곳에 클론할 폴더를 생성할지
Repository to clone -> github에서 어떤 레포지토리를 클론할지
두 가지 사항을 선택하게 된다.
본인의 목적에 맞게 잘 선택하면 된다.

clone the repo!를 누르면 클론이 완료되고 지정한 로컬 디렉토리에 클론한 폴더가 생성된다. (나는 애초에 'clone'이라는 폴더에 클론했기 때문에 이름이 clone인 것이고, 본인이 설정한 디렉토리에 따라 폴더명이 다를 것이다.)

'open'이나 'clone'을 완료하면 위와 최종적으로 위와 같이 github history 로그가 뜬다.

branch는 알다시미 local과 remote로 나뉜다.(잘 모르겠다면 github 원리 공부부터 하는 것을 추천한다!)
브랜치 이름을 더블클릭하면 해당 브랜치로 checkout 할 수 있다. 원래는 터미널에서 명령어로 입력하던 것을, 쉽고 직관적으로 실행할 수 있는 것이다.
만약 로컬에 없는 원격 브랜치를 checkout하면, 로컬에도 동일한 이름을 가진 브랜치가 새로 생성된다.

브랜치들이 어떻게 분기되고 합쳐졌는지 기록을 가시적으로 확인할 수 있다.
각각의 다른 프로필 사진은 여러 명의 작업자를 뜻하고, 좌측의 브랜치명에 체크 표시가 되어 있는 곳에 내가 현재 checkout 되어있다는 것을 뜻한다.

merge를 하면 위와 같이 두 개의 선이 하나로 합쳐진다.

반대로 새로운 브랜치를 만들면 기존 선에서 새로운 선이 분기되어 나온다.

git stash를 하면 상자 모양이 생기고 stash한 변경사항들이 담긴다.

stash한 목록은 왼쪽 목록에서 볼 수 있다.

위 버튼들로 터미널 명령어로 실행시키던 작업들을 클릭 한번으로 실행시킬 수 있다.

그래프 오른쪽에서는 해당 커밋에서 수정한 파일 내용을 확인할 수 있다.

목록에서 수정된 파일을 클릭하면 위와 같이 기존 내용은 빨간색, 수정 후 내용은 초록색으로 변경사항이 뜬다.
좌측 상단의 'Edit This File'을 누르면 이곳에서도 파일을 수정할 수 있다.