Xcode에서 프로젝트 GitHub 연동 및 원격 업로드 방법


GitHub로 Local(내 PC)에 있는 프로젝트를 업로드하는 것을 Git에서는 Push라고 합니다.

지금부터 Xcode에서 프로젝트 GitHub 계정 연동 및 원격 업로드 방법에 대해서 알아보도록 하겠습니다.



.gitignore 파일 생성


자신의 프로젝트를 GitHub로 Push하려 하면 필요하지 않은 파일들까지 GitHub로 업로드가 되는 것을 확인할 수 있습니다.

그러나 .gitignore 파일을 만들고 업로드를 하지 않을 목록들을 적으면 그 항목들은 무시된 채로 업로드가 됩니다.

.gitignore 파일을 생성해보도록 하겠습니다.


터미널에서 GitHub에 Push하려는 프로젝트 경로로 이동합니다.


저는 Swift로 만든 프로젝트를 올리려고 하고, Swift의 ignore 파일들의 목록들은 아래 링크에 나와있습니다.

https://github.com/github/gitignore/blob/master/Swift.gitignore


다음 명령어를 입력하여 .gitignore 파일을 생성합니다.

vi .gitignore


# Xcode

#

# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore


## Build generated

build/

DerivedData/


## Various settings

*.pbxuser

!default.pbxuser

*.mode1v3

!default.mode1v3

*.mode2v3

!default.mode2v3

*.perspectivev3

!default.perspectivev3

xcuserdata/


## Other

*.moved-aside

*.xccheckout

*.xcscmblueprint


## Obj-C/Swift specific

*.hmap

*.ipa

*.dSYM.zip

*.dSYM


## Playgrounds

timeline.xctimeline

playground.xcworkspace


# Swift Package Manager

#

# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.

# Packages/

# Package.pins

# Package.resolved

.build/


# CocoaPods

#

# We recommend against adding the Pods directory to your .gitignore. However

# you should judge for yourself, the pros and cons are mentioned at:

# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control

#

# Pods/


# Carthage

#

# Add this line if you want to avoid checking in source code from Carthage dependencies.

# Carthage/Checkouts


Carthage/Build


# fastlane

#

# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the

# screenshots whenever they are needed.

# For more information about the recommended setup visit:

# https://docs.fastlane.tools/best-practices/source-control/#source-control


fastlane/report.xml

fastlane/Preview.html

fastlane/screenshots

fastlane/test_output


:wq!

다음과 같이 입력하고 저장하면 .gitinore 파일 설정은 끝났습니다.




Xcode에서 GitHub 계정 연동


Xcode를 실행하고 환경 설정을 열어줍니다. ( 단축키: Cmd + , )

Accounts 항목으로 이동하시면 좌측 아래에 + 버튼을 눌러 GitHub계정을 선택하고 Continue 버튼을 누릅니다.


GitHub의 아이디와 비밀번호를 입력하고 로그인을 합니다.


로그인이 정상적으로 성공하였다면 다음과 같이 GitHub 계정이 등록된 것을 확인할 수 있습니다.




로컬 저장소 Commit 하기


프로젝트에 어느정도 변경사항이 생겼다면 Commit을 한번 해봅니다.

Xcode 위에 메뉴에서 Xcode > Source Control > Commit 버튼을 클릭합니다. ( 단축키 : Cmd + Opt + C )

변경된 파일들의 대해서만 Commit 할 수 있습니다. 아래에 텍스트 영역에 Commit 내용을 입력하고 Commit 버튼을 누릅니다.




프로젝트 GitHub로 Push하기


Xcode 좌측 네비게이션바에서 2번째 항목을 선택합니다. ( 단축키: Cmd + 2 )

Remotes 폴더에서 마우스 우클릭을 하고 Create "프로젝트이름" Remote on GitHub라는 버튼을 클릭합니다.


Account: GitHub 아이디

Owner: GitHub 닉네임

Repository Name: GitHub에 생성될 프로젝트 이름

Description: 프로젝트 설명

Visiblility: 공개, 비공개

Remote Name: 원격저장소 이름


다음과 같이 설정한 후 Create 버튼을 누르면 GitHub로 Push가 되며 GitHub에 프로젝트가 생성됩니다.

※ GitHub로 Push를 하려면 로컬 저장소 먼저 Commit이 되어 있어야 합니다.




GitHub 업로드 확인


GitHub에 보면 다음과 같이 Xcode에서 Push한 ChatClient파일이 생성된 것을 확인할 수 있습니다.

지금까지 Xcode에서 프로젝트 GitHub 계정 연동 및 원격 업로드 방법에 대해서 알아보았습니다. 수고하셨습니다.