Xcode4 소스 버전 관리 기능

소스 코드 버전 관리를 위해 Xcode 4 (현재 본인의 Xcode 버전은 4.4)에서는 Subversion (SVN) 방식과 Git 방식을 지원한다.

이 중 Git 방식은 Xcode 가 프로젝트 생성 단계에서 자동으로 저장소를 생성해준다. 터미널 명령어를 통해 저장소를 생성하지 않아도 되기 때문에 혼자 개발하는 개발자는 편리하게 소스 버전 관리를 할 수 있다.

이번 포스팅에서는 Xcode 의 자동 Git 저장소 생성 중심으로 Xcode  소스 버전 관리 기능을 알아보고자 한다.

기본 옵션으로 프로젝트를 생성하여 코딩을 하면, 네비게이터 패널에 아래 그림과 같이 “M”이라는 뱃지가 생성되는 것을 보았을 것이다.

Xcode 의 Git 저장소 자동 생성에 대해 알지 못하였을 때, 본인은 저 마크의 의미가 무척이나 궁금했었다. 본인과 같은 궁금증을 가졌던 초보(?) 개발자라면 이 포스팅을 통해 어느 정도 이해할 수 있을 것이다.

앞서 언급했듯이 Xcode 는 새 프로젝트 추가 단계에서 자동으로 Git 저장소를 생성해준다. 새 프로젝트 추가 단계 중 프로젝트 생성 폴더 지정 화면 하단을 보면 아래 그림과 같이 “Create local git repository for this project” 옵션이 체크되어 있는 것을 확인할 수 있다. (디폴트로 체크가 되어 있지 않다면 체크하면 된다.)

추가적인 행위 없이 위와 같은 옵션 체크만으로 프로젝트가 생성과 함께 Git 저장소가 생성된다. 생성된 저장소는 아래 그림처럼 Organizer Repositories 탭에서 확인 가능하다. 본인은 GitTestProject 란 이름으로 프로젝트를 생성하였다. initial Commit 메시지가 보인다.

저장소 생성 옵션과 함께 추가한 기존의 프로젝트들로 인해 아래 그림과는 다르게 여러 개의 저장소가 표시될 수도 있다. 좌측 하단의 “-” 버튼을 이용하여 기존에 생성된 불필요한 저장소들을 삭제할 수 있다.

저장소가 생성되었으니 버전 관리를 위해 소스 코드를 commit 하는 법에 대해 알아보자. Git 저장소에 액션을 취하려면 아래 그림과 같이 타겟 파일에서 마우스 우측 클릭하여 Source Control 을 선택하면 된다. 그러면 상황에 맞는 옵션들이 활성화되어 나타난다.

본인은 테스트를 위해  Single View Application Template 으로 프로젝트를 생성하여 자동 생성된 ViewControl.m 파일에 간단한 NSLog 구문으로 코드 변경 (“M” badge 표시) 을 하였다. 저장소에 커밋을 위해 Commit Selected Files..을 선택하면 아래 그림과 같은 화면이 나타난다.

기존 파일과 변경된 파일을 비교할 수 있고, 화면 하단부에는 코멘트를 입력할 수 있는 텍스트 박스가 있다.

소스 버전 관리의 안정성을 위해서인지 Xcode 는 커밋 코멘트가 존재하지 않으면 커밋을 시행하지 않는다. 본인은 간단히 “NSLog in viewDidLoad” 라는 코멘트를 남겼다.  좌측 하단부에는 Branch 를 생성할 수 있는 버튼도 있다.

Commit 1 Files 버튼을 클릭하여 커밋을 완료하면 네이게이터 패널의 소스 파일 우측에 있었던 M 벳지도 사라진다. (참고로 여러 개의 파일을 동시에 커밋할 수 있다.)

Organizer 를 통해 방금 커밋한 내용을 확인해보자. 아래 그림과 같다.

이번엔  Xcode 를 사용하여 소스 코드 버전을 관리할 때, 네비게이터 패널에 표시되는 벳지의 종류 및 의미를 알아보자. M 벳지만 있는 것이 아니다.

  • M : Modified, 저장소의 파일이 변경되었음.
  • A :  Added, 새로운 파일을 생성하였음 (새로운 클래스 추가 등). 다음 커밋할 때 해당 파일이 저장소에 추가됨.
  • C :  Conflicted, 서버 버전과 로컬 버전이 충돌. 수동으로 버전을 선택하여 문제를 해결해야 함.
  • ? : Unknown, 저장소에 해당 파일 정보 없음. 저장소에 추가하기 전에는 ? 로 표시됨.

이미 생성되어 있는 SVN 또는 Git 저장소를 연결해야 하는 경우가 있다. 이 경우는 아래와 같이 Connect to a repository  를 선택하면 저장소 주소를 입력하는 화면이 나타난다.

또한 Organizer 를 통해서도 저장소 추가가 가능하다. 좌측 하단의 “+'” 버튼을 클릭하여 Add to Repository 를 선택하면 아래 그림과 같이 저장소를 선택할 수 있는 화면이 나타난다.

기존 저장소를 추가하는 기능은 직접 사용해보지 못해서 이 정도로만 설명한다.

추가로 SVN/Git 터미널 명령어는 아래 그림과 같다.

* Reference

Advertisements
Leave a comment

1 Comment

  1. Xcode에서 git 사용할 때, 필요 없는 파일을 무시하려면? | 샤코의 Liberal Music & Technology

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: