iOS & Swift 공부 - Xcode 를 이용한 Source Control

김영채 (Kevin)·2021년 3월 8일
0

iOS & Swift

목록 보기
86/107
post-thumbnail

평소 Version Control 을 위해서는 GitKraken 을 쓴다. CLI 기반은 어렵고 직관적이지 않아 GUI 기반인 GitKraken 을 쓰면 그나마 덜 어려워서 애용한다. 하지만 이번에 Xcode 내에서도 Source Control 이 가능하다는 것을 깨달았고, 기본적인 이용 방법을 정리하고자 한다.

우선 프로젝트를 만들 때 위와 같이 Create Git repository on my Mac 란에 체크 표시를 적용한다.

프로젝트 생성 후 좌측 상단의 저 네모난(?) 아이콘을 누르면 Source Control 하는 곳으로 진입이 된다. 보다시피 Initial Commit 가 자동으로 이미 되어있는 것을 볼 수 있으면, main branch 가 하나 있는 것 역시 볼 수 있다.

프로젝트 내에서 기능을 좀 추가하고 이제 커밋해야겠다 싶으면 상단 메뉴의 Source Control -> Commit 을 누르면 된다.

Commit 을 누르면 위와 같은 창이 뜨게 되는데, 여기서 어떤 파일에 변경사항이 생겼는지 한 눈에 확인할 수 있다.

해당 창 아래에서는 commit message 역시 작성할 수 있게 되어 있다.

그렇게 Commit 을 누르게 되면, 정상적으로 commit 이 반영된 것을 볼 수 있다.

혹여나 프로젝트 중에 원치 않은 코드를 마구마구 작성했다고 치자. 예를 들어 위처럼 toggle 버튼을 아무 곳에다 막 배치한 나쁜 경우를 보자. 이런 경우 그 전 version 으로 돌아가고 싶을 것이다. 즉, 마지막 커밋한 시점으로 돌아가고 싶은거다.

그럴 땐 상단 메뉴 바의 Source Control -> Discard All Changes 를 누르면 된다.

짜잔. 이전 모습으로 돌아갔다.

Branch 생성

특정 시점에서 Branch 를 생성하고 싶으면 어떻게 해야 할까?

원하는 시점의 커밋 부분을 우클릭하고, Branch from "" 을 클릭하면 된다.

Branch 사이에서 움직이고 싶으면, 즉 check out 하고 싶으면 해당 branch 를 우클릭하고 checkout 을 누르면 된다. 정말 쉽다!

Merge

Merge 하는 방법 역시 쉽다. 만약 milk-design 이라는 branch 를 main branch 에다가 merge 를 시키고 싶다면, 우선 현재 브랜치가 main이어야 한다. 그 다음에 merge 하기를 원하는 브랜치를 우클릭하고, merge "milk-design" into "main"을 클릭하면 된다.

특정 커밋 시점으로 돌아가고 싶다면?

가끔 특정 커밋 시점, 즉 게임으로 치자면 save-point 로 가고 싶은 경우도 있다. 그럴 때 돌아가기를 원하는 커밋 부분을 우클릭하고, Checkout 을 누르면 된다.

Xcode 우측 상단의 화살표 모양이 2개 있는 아이콘은, 서로 다른 두 브랜치에 있는 동일한 파일을 비교할 때 요긴하게 쓰인다. 왼쪽 코드는 milk-design 브랜치에 있는 ViewController 파일이고, 오른쪽 코드는 main 브랜치에 있는 ViewController 파일이다. 친절하게도 어떤 부분이 다른지 Xcode 가 파란색으로 칠해서 보여준다!

Github 으로 푸쉬하고 싶다면?

그럼 내 맥에서 작업한 프로젝트를 깃허브에 푸쉬하고 싶다면? Xcode 설정에 들어가서 Accounts -> 더하기 버튼 -> Github -> Continue 를 눌러주고 본인 깃허브 계정과 비밀번호를 입력하여 계정을 추가한다.

그런 다음에 맨 처음에 언급한 좌측 상단의 네모난? 아이콘을 누르고, 프로젝트를 우클릭하여 New "프로젝트명" Remote 을 클릭해준다.

그러면 본인 깃허브에 이렇게 repository 가 생성된 것을 볼 수 있다.

profile
맛있는 iOS 프로그래밍

0개의 댓글