SandboxProject를 시작하기에 앞서,
토이 프로젝트를 처음 시작할 때 늘 어떻게 했었는지 기억이 나지 않아
구글 블로그들을 뒤져봤었던 초기 세팅을 내 블로그에 정리해 놓으려고 한다.
내 블로그를 방문해주시고 이 글을 읽는 여러분들에게도 도움이 되었으면 한다.
GitHub 연동
가장 처음으로는 너무 당연한 이야기지만 Xcode 프로젝트를 생성한다.
자신이 하고 싶은 프로젝트에 맞춰 생성하면 될 것 같다.
다음으로는 좌측 상단에
Xcode > Setting
을 클릭해 준다.
상단 메뉴 중, 두번째의 Account에서
좌측하단에 있는 + 버튼을 클릭한 뒤 GitHub를 클릭한다.
Account는 본인 GitHub 계정을 적으면 되고,
Token은 본인 고유의 발급받은 토큰을 입력하면 되는데, 토큰 생성을 하지 않았다면 좌측 하단의 Create a Token on GitHub를 클릭해서 생성하도록 하자.
Token은 영문 숫자 조합으로 된 굉장히 긴 문자조합인데,
혹시 모르니 발급받은 후엔 메모장에 적어놓도록 하자. 당연한 이야기지만, 물론 남에게 노출되면 안된다.
이 과정이 끝난다면 Xcode에 본인 계정의 GitHub 연동은 끝이 난다.
새 Repository 생성
상단 탭의 Intergrate에서 New Git Repository를 클릭 해 준다.
그리고 창이 하나 뜨면 Create를 클릭해 주면 된다.
좌측 상단의 Source Control Navigator 탭에서 Repository 내부 탭을 클릭하고,
프로젝트 아이콘에서 마우스 우측 클릭을 해준 뒤, New "Project" Remote를 클릭해 준다.
내 계정을 확인하고,
레포지토리 이름을 명명하고,
설명을 추가하고,
공개인지, 비공개인지 설정한 뒤 Create 버튼을 클릭하면 끝이다.
웹으로 레포지토리가 잘 생성되었는지 확인하면 정상적으로 생성된 것을 확인할 수 있다.
(아까 그 프로젝트 아이콘에서 마우스 우측 클릭을 해준 뒤, View on GitHub를 클릭하면 바로 웹으로 연결이 가능하다.)
gitignore 생성
gitignore은 깃허브에 commit 하려고 할때,
민감한 정보나 굳이 올라갈 필요가 없는 용량만 큰 파일들, 로그파일 등
귀찮은 문제가 생길 수 있는 점들을 미리 사전에 방지할 수 있는 방법이다.
좌측 하단 + 버튼 클릭 후, File을 클릭한다.
가장 하단에 있는 Empty를 선택한다.
파일 명을 ".gitignore"로 설정하면 이름은 점(.)으로 시작할 수 없다고 경고창이 뜨는데, 그냥 Use를 눌러준다.
그리고 이 링크로 들어가서 gitignore 텍스트를 생성해 준다.
https://www.toptal.com/developers/gitignore
보통 나는 이 세가지를 선택하는 편이다.
그렇게 생성된 텍스트를 모두 복사해서
Xcode로 돌아와 붙여넣으면 끝이다.
그리고 Commit 후 Push 하면 gitignore 생성도 끝이다.
Branch 나누기
회사에서 프로젝트 형상관리를 Git으로 한다면, Branch로 나누어 컨플릭트가 나지 않게 협업을 하는 경우가 많다.
그래서 1인 토이 프로젝트를 하더라도 Branch를 나누어,
Create Feature Branch > Commit > Push > Pull Request > Merge > Delete Feature Branch
등의 워크 플로우를 지키는 습관을 들이는 것이 중요하다.
이를 위해 Xcode에서 Branch 생성법을 알아보자.
브랜치는 보통 이런 식으로 Main(원래는 가장 상단은 Master이었으나 20년 부터 Main으로 바뀌었다.) 브랜치에서 가지를 뻗어나가는 방식이다.
기업에서는 Main, Release, Develop, Feature1, Feature2, Feature... , Hotfix 등으로 브랜치를 나누는 편이다.
그림에는 없는
Release 브랜치는 버전관리를 위한 브랜치이고,
Hotfix 브랜치는 말 그대로 급하게 수정해야 할 버그가 있을 때 Develop이 아닌 Main에서 바로 가지를 뻗어 작업 후 바로 Main으로 Merge 해버리는 브랜치이다.
이 프로젝트는 배포할 일도 없고, 버그가 났다고 급하게 핫픽스 해야 할 일도 없으니 Main, Develop, Feature 브랜치만 생성해 보려 한다.
레포지토리가 생성된 직후 그 화면에서 Branches 탭을 클릭하면 main 하나만 생성되어 있을 것이다.
거기에 마우스 우측 클릭 후, New Branch from "main"을 클릭하면,
창이 하나 뜨고, 생성할 브랜치의 이름을 명명한 뒤, Create를 누르면 끝이다.
그럼 main 아래에 Develop 브랜치가 생성되게 된다.
브랜치 옆에 있는 (current)는 현재 체크아웃 된 브랜치를 뜻한다.
상단 탭 Intergrate에서 Push를 하게되면
정상적으로 브랜치가 나누어져서 생성된 것을 Remote에서도 확인할 수 있다.
Feature 브랜치는 기능 별로 그때그때 브랜치를 생성하여 작업하고 PR 이후 Merge가 완료되면 삭제한다.
사실 브랜치를 나누고 작업을 하려하면 깃허브에서 'Branch Protection Rule'도 정해야되고,
다른 부가적인 해야하는 설정도 많지만 이 포스트에서는 가장 기본적인 부분만 짚고 넘어가려한다.
이렇게 Xcode로 깃허브 기능을 활용하는 사람은 솔직히 적다.
나만 해도 GitKraken으로 작업하고, 아니면 CLI 환경에서 관리하는 사람이 더 많다.
다만, 나는 GUI의 직관적으로 표현되어 있는 게 실수를 줄일 수 있어서 좋다.
GUI로 Git을 관리할 수 있는 Git 클라이언트 툴은 GitKraken 말고도 GitHub Desktop, Sourcetree, Fork 등 많다.
본인이 편한 인터페이스를 골라 사용하면 될 거 같다. (개인적인 취향으로 나는 GitKraken이 UI가 젤 이쁜 것 같아 사용한다.)
다음에는 깃허브를 활용한 워크플로우 관리하는 법을 다뤄볼 예정이다.
이슈, 커밋, PR 템플릿을 만들고 관리하는 법에 대한 포스팅을 하려한다.
'ToyProject' 카테고리의 다른 글
[Project] Swift에서 URLSession을 통해 API를 받아오는 법 (0) | 2023.11.11 |
---|---|
[Project] Swift에서 JSON 파싱하는 법 (1) | 2023.10.28 |
[Project] GitHub Issue / PR 템플릿 등록하는 법 (0) | 2023.10.26 |