xxo' TIL/WIL

Github

[Github] Xcode / Github 연동

xxoxec 2025. 7. 10. 00:40

Xcode와 GitHub를 연동하여 프로젝트를 관리하는 방법을 정리.

우선 GitHub란?

GitHub는 개발자들이 코드 저장소를 관리하고 협업할 수 있는 웹 기반 플랫폼입니다. Git이라는 분산 버전 관리 시스템을 기반으로 합니다. 주로 Git을 사용하여 버전 관리와 소스 코드 공유를 돕습니다. GitHub는 공개 프로젝트와 비공개 프로젝트를 모두 지원하며, 오픈 소스 커뮤니티에서 널리 사용됩니다. GitHub를 활용하면 코드 협업과, 리뷰, 배포 자동화 등 다양한 작업을 효율적으로 처리할 수 있습니다.

 

 

https://github.com/

 

GitHub · Build and ship software on a single, collaborative platform

Join the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.

github.com

 

주요 특징 및 기능

  • 코드 호스팅(Code Hosting) : 프로젝트 소스 코드를 원격 저장소에 저장하여 언제 어디서든 접근하고 관리할 수 있다. 공개 저장소와 비공개 저장소를 모두 제공한다.
  • 버전 관리(Version Control) : Git을 기반으로 코드 변경 이력을 체계적으로 기록하고 관리할 수 있다. 언제든지 이전 버전으로 돌아갈 수 있어 실수를 하더라도 쉽게 복구가 가능하다.
  • 협업(Collaboration) : 여러 개발자가 동시에 하나의 프로젝트에 참여하여 코드를 공유하고 수정하며, 병합(Merge) 기능을 통해 변경 사항을 쉽게 통합할 수 있다.
  • 이슈 트래킹(Issue Tracking) : 프로젝트에서 발생하는 문제점, 버그, 새로운 기능 개선, 요청 등을 추적하고 관리할 수 있다. 이를 통해 팀 내에서 작업 내용을 체계적으로 파악하고 할당할 수 있다.
  • Pull Request(PR) : 다른 사람의 코드 변경 사항을 검토하고 병합 요청을 할 수 있는 기능으로, 코드 변경 사항을 제안하고, 다른 팀원들이 해당 코드를 검토하고 승인할 수 있도록 돕는 기능이다. 코드 리뷰를 통해 코드 품질을 높이고 오류를 줄일 수 있다.
  • 프로젝트 관리 : 칸반 보드 형태의 프로젝트 보드를 통해 작업 진행 상황을 시각적으로 관리할 수 있다.
  • 자동화(GitHub Actions) : 빌드, 테스트, 배포 등 반복적인 개발 작업을 자동화하는 CI/CD(지속적 통합/지속적 배포) 파이프라인을 구축할 수 있다. 즉 CI/CD 파이프라인을 설정해 자동화된 빌드 및 배포가 가능.
  • GitHub Pages : 각 저장소마다 무료로 웹사이트를 호스팅 할 수 있는 기능을 제공하여 개인 블로그나 프로젝트 소개 페이지 등을 만들 수 있다.
  • 포트폴리오 역할 :  많은 IT 기업에서 개발자 채용 시 GitHub 계정을 포트폴리오로 활용하고 있다. 개인의 개발 역량과 프로젝트 경험을 보여주는 중요한 수단이 될 수 있다.

Git / Github 차이점

  • Git : 버전 관리 시스템 그 자체로 로컬 컴퓨터에서 코드 변경 이력을 추적하고 관리하는 도구이다. 인터넷 연결 없이도 사용 가능.
  • Github : Git을 기반으로 하는 클라우드 기반의 코드 호스팅 및 협업 플랫폼이다. Git으로 관리하는 프로젝트를 온라인에 저장하고, 여러 개발자가 함께 작업살 수 있는 환경을 제공한다.

 

Xcode는 Apple의 통합 개발 환경(IDE)이고, GitHub은 버전 관리 시스템인 Git을 기반으로 하는 코드 호스팅 플랫폼입니다. 주로 Xcode와 GitHub 저장소를 연결하여 프로젝트 버전 관리를 할 때 유용합니다.
Xcode에서 GitHub을 효과적으로 활용하여 효율적으로 코드, 프로젝트를 관리하고 협업할 수 있습니다.

 

 

Xcode에 GitHub 계정 등록하기

Xcode 환경설정 열기 : Xcode를 실행한 후, 상단 메뉴에서 Xcode > Settings (또는 Preferences)를 선택.(cmd(⌘) + ,)

Accounts 탭 선택 : 환경설정 창에서 Accounts 탭을 선택, 왼쪽 하단의 + 버튼을 클릭.

code > Settings (또는 Preferences)를 선택. (cmd (⌘) + ,), Accounts 탭을 선택, 왼쪽 하단의 + 버튼을 클릭.

 

GitHub 계정 추가 : 왼쪽 하단에 있는 + 버튼을 누르고 GitHub를 선택한 후 Continue를 클릭.

GitHub 이메일 및 토큰 입력 : GitHub 계정의 이메일 주소와 "Personal access token"을 입력한다.

GitHub > Continue > GitHub 계정의 이메일 주소 및 Token 입력.

 

토큰 생성 GitHub 웹사이트에 로그인한 후 Settings > Developer settings > Personal access tokens > Tokens (classic) 또는 Fine-grained tokens로 이동한다. Generate new token을 클릭하여 새로운 토큰을 생성한다.

GitHub 로그인 > Settings > Developer settings > Personal access tokens > Tokens (classic) > Generate new token

Note에 토큰의 용도를 식별할 수 있는 이름을 입력한다.(예: Xcode Integration)

Select scopes에서 이 토큰이 접근할 수 있는 권한을 설정한다. 일반적으로 repo (리포지토리에 푸시 및 기타 작업)를 체크하면 나머지 관련 권한이 자동으로 체크된다.

토큰의 식별이름과 상황에 맞게 접근 권한을 설정, 리포지토리 관리를 위해 repo 체크 > Generate token 클릭

토큰을 생성하면 한 번만 표시되므로 복사하여 안전한 곳에 보관해 두는 것이 좋다. 잃어버릴 시 새로 생성.

생성한 토큰을 Xcode의 Token 필드에 붙여넣고 Sign In을 클릭한다.

토큰 생성 후 복사하여 보관 필수, 필드에 붙여넣고 Sign In

Personal access tokens > Tokens (classic) 클릭 시 해당 토큰이 발급된 것을 확인 가능하다. 다만 토큰에 부여된 권한만 볼 수 있고 토큰 자체는 볼 수 없다.

Accounts에서 Github가 잘 추가 된 것을 확인. Github에서 토큰 발급 확인, 토큰 자체는 볼 수 없다.

 


 

Xcode 프로젝트에서 Git 저장소 연동 또는 생성하기

새 프로젝트 생성 시 : 새로운 Xcode 프로젝트를 생성할 때 해당 파일 내 .git 폴더가 없으면 Source Control 체크박스가 뜨게 된다. Create Git repository on my Mac 옵션을 체크하면 로컬 Git 저장소가 자동으로 생성된다.

Create Git repository on my Mac 옵션을 체크

체크를 하지 않았다면 Xcode > Integrate > New Git Repository...를 클릭하여 Git 로컬 저장소를 생성한다.

Create를 클릭하여 현재 프로젝트의 로컬 Repositories를 생성. Source Control에서 추가된 로컬 Repository 확인.

Xcode >  Integrate > New Git Repository... > Create

 

기존 프로젝트에 연동 시 : 이미 GitHub에 원격 저장소가 있다면 Xcode의 왼쪽 사이드바 > Source Control > Remotes > Add Existing Remote... 를 통해 기존 원격 저장소 URL을 연결할 수 있다.

  • Source Control Navigator(자물쇠 모양 아이콘) : Xcode에서는 Source Control 메뉴에서 소스코드의 버전 관리를 할 수 있다. Source Control 기능은 Xcode의 왼쪽 사이드바 왼쪽에서 두 번째 탭(자물쇠 모양)을 통해 접근할 수 있으며, 이 인터페이스는 크게 두 부분으로 나뉜다.
    • Changes : 현재 작업 중인 파일의 변경 사항을 보여준다.
    • Pepositories : 전체 저장소의 상태와 히스토리를 확인할 수 있다.

 

새로운 원격 저장소를 만들 시 : 새로운 원격 저장소를 GitHub에 만들려면 Xcode의 왼쪽 사이드바 > Source Control > Repositories > 디폴트 브랜치 우클릭 > New "프로젝트명" Remote... 를 클릭하여 GitHub에 새 저장소를 생성하고 연결할 수 있다. 이때 Public 또는 Private으로 설정할 수 있다.

Github 저장소에 잘 생성 되었는지 확인하려면 Source Control > Repositories >  디폴트 브랜치 우클릭 > View on GitHub... 클릭 시 Github 저장소 위치를 브라우저로 확인할 수 있다.

Source Control > Remotes > New "프로젝트명" Remote... > 설정 후 Create > View on Github로 확인 가능

 


 

커밋(Commit) 및 푸시(Push)하기

변경 사항 확인 : 코드 수정 후 Xcode의 왼쪽 사이드바 > Source Control Navigator(자물쇠 모양)를 클릭 > Changes에 들어가면 변경된 파일들을 확인할 수 있다. 코드 변경 사항은 Changes 섹션에 자동으로 표시된다.

 

 

커밋하기 : Integrate > Commit...을 선택하거나, 변경된 파일 목록에서 커밋할 파일을 선택한다. 하단에 커밋 메시지를 작성하고 Commit 버튼을 클릭. 커밋 시 Amend(Push to remote) 옵션을 선택하면 커밋과 동시에 원격 저장소에 푸시할 수 있다.

Integrate 에서 Commit... 클릭 후 코드 확인 및 Commit 메시지를 작성.

  • 변경된 파일을 선택하여 Stage한다. Stage All으로 모두 선택하거나, 선택한 파일만 Stage할 수 있으며, Stage는 터미널에서 Git이용 시, git add와 유사한 기능이라고 생각하면 된다. Commit 메시지를 작성 후 Commit.
  • 커밋한 직전의 커밋 내용을 수정하고 싶을 시 Amend 기능을 활용하면 되는데, Amend로 직전 커밋에 작의 수정사항을 추가할 수 있다. 새로운 커밋을 생성하지 않고도 최근 커밋을 수정할 수 있으므로, 히스토리를 깔끔하게 유지하는데 도움이 된고 한다. 아직 사용한 적이 없어서 사용 시 추가 작성.

 

푸시하기 : Integrate > Push... 를 선택하여 로컬에서 커밋한 내용 및 변경 사항이 원격 GitHub 저장소로 업로드된다. 브랜치를 선택하고 Push를 클릭.

Integrate  > Push...를 클릭 > 브랜치 선택 후 Push.

 

Github에서 코드 가져오기(Clone) : Github 리포지토리에서 프로젝트를 클론 하려면,  Xcode > Integrate > Clone... 을 선택 후 Github 리포지토리 URL을 입력한다.

Xcode >  Integrate > Clone...

 

 


 

  • Xcode의 Source Control 기능을 활용하면, 커밋, 푸시, 풀 등의 Git 작업을 Xcode 내에서 직접 할 수 있다.
  • .gitignore 파일 설정: Xcode 프로젝트에서 Git을 사용할 때 .gitignore 파일을 설정하여 불필요한 파일 (예: 빌드 결과물, 사용자별 설정 파일 등)이 Git에 포함되지 않도록 관리하는 것이 중요하다. gitignore.io와 같은 웹사이트에서 Xcode 프로젝트에 적합한 .gitignore 템플릿을 생성하여 사용할 수 있다.
  • GitHub과 Xcode의 연동을 통해 협업 시 코드 변경 사항을 쉽게 추적하고 공유할 수 있다.
  • 충돌 해결: 여러 명이 함께 작업할 때 코드 충돌이 발생할 수 있다. Xcode는 충돌이 발생한 파일을 시각적으로 보여주며, 이를 해결할 수 있는 기능을 제공한다.
  • 터미널 사용: Xcode 자체의 Git 기능 외에도 터미널에서 git 명령어를 직접 사용하여 더욱 세밀하게 버전 관리를 할 수 있다. git config --global user.name과 git config --global user.email을 설정하여 Git 사용자 정보를 지정하는 것이 좋다.

 

Xcode의 Source Control 기능을 활용하면, 커밋, 푸시, 풀 등의 Git 작업을 Xcode 내에서 직접 할 수 있어 더욱 효율적으로 사용할 수 있다. Xcode와 git 통합 기능은 사용법이 매우 직관적이고 효율적이다. 사용법을 숙지한다면 버전 관리를 보다 수월하게 할 수 있고, 연동을 통해 협업 시 코드 변경 사항을 효과적으로 추적하고 관리할 수 있으며, 원활한 코드 공유와 버전 제어가 가능하다.

'Github' 카테고리의 다른 글

[GitHub] Merge conflict(충돌) 병합 해결 방법  (0) 2025.03.20