카테고리 Archives: iOS

Repository의 클로닝 또는 Check out

과정
=====
1. 오거나이저의 repositories에서 추가(+)버튼을 누르고 Checkout 이나 Clone Repository를 고른다.
2. 파일의 패스나 URL을 입력한다.
3. “Host is reachable” 인디케이터가 녹색으로 바뀌면 Next버튼을 클릭한다.
4. Repository용 로컬 이름을 입력하고 Clone이나 Checkout으로 그것을 복사한다.
5. 위치를 고르고 선택된 Clone(또는 Checkout) 버튼을 클릭해 로컬 repository를 저장한다.

—————————————–

로컬 시스템에 사본을 만들기 위해 Check out이나 clone을 수행한다.

일반적인 repository 작업의 추상화로  Xcode는 Git과 Subversion(SVN) 모두 싱글 또는 통합 GUI 및 작업수행과정의 저장소를 제공한다. 무엇을 선택하느냐에 따라 이 작업은 저장소를 check out(SVN용)하거나 clone(Git용)하며 프로젝트에 적용한다.

Xcode에서 Git 저장소를 클로닝하는 것은 로컬 시스템에 저장소를 세팅하고, 작업 공간에서 바로 쓸 수 있는 저장소로 만들어준다. 이 방법은 온라인이거나 오프라인이거나 상관없이 배포 버전 관리 및 코드 백업의 모든 권한을 관리할 수 있는 장점이 있다.

SVN 체크아웃 작업은 로컬 저장소를 만들지 않는다. 따라서 반드시 변화된 결과물을 저장할 수 있는 저장소 서버를 준비해야 한다.

SVN용으로 반드시 trunk, branches, tags 디렉토리로의 상대주소도 준비해야한다. 이렇게 하면, 저장소 오거나이저에서 새로운 저장소의 이름을 클릭해 간단히 필드를 채울 수 있다. 만약 SVN 서버가 인증을 필요로 한다면 유저명과 비번도 채워넣어야 한다.

이 비디오는 Sketch 샘플 코드 프로젝트가 Git 저장소를 클로닝 하는 과정을 보여준다.

커맨드라인에서 Subversion Repository 셋업

과정
====
1. 진행할 프로젝트의 임시 사본을 보관하도록 mkdir 커맨드를 이용해서 branches, tags, trunk 이렇게 3개의 서브디렉토리를 생성한다.

2. trunk 서브 디렉토리에 진행할 Xcode 프로젝트를 복사해 넣는다.

3. 빈 Subversion repository를 만들기 위해 svnadmin create 명령을 사용한다.

4. 새로운 Subversion repository에 진행할 프로젝트를 임포트하기 위해서 svn import 명령을 사용한다.

————————————————————-
Subversion repository를 설치하기 위해 커맨드라인 명령을 사용한다.

Subversion repository를 설치하려면, Shell을 이용해야만한다. 기본 제공하는 bash쉘인 Terminal을 이용한다.
(/Applications/Utilities/Terminal.app에 있다)

만약 진행중인 프로젝트가 없다면 Xcode를 이용해서 repository를 설치하기 전에 새로운 프로젝트를 생성한다.

스텝 1.
프로젝트의 사본을 임시로 보관할 디렉토리 구조를 생성한다. 예를 들어 Sketch_svn_tmp라는 디렉토리를 다음 명령을 이용해 생성해 본다.



  • mkdir /Repo_Master/Sketch_svn_tmp

mkdir 커맨드는 지정된 패스의 가장 마지막 패스만을 생성한다. 따라서 위의 예에서 /Repo_Master라는 디렉토리는 이미 존재해야한다.

==Tip== 현재 위치의 폴더를 터미널로 집어 던지면 풀 패스가 표시된다.

관례적으로 SVN repository 는 3개의 서브 디렉토리를 포함하며 그 이름은 다음과 같다. branches, tags, trunk.
다음 명령어는 이 세 서브 디렉토리를 Sketch_svn_tmp 디렉토리에 생성해줄 것이다.


  • mkdir /Repo_Master/Sketch_svn_tmp/trunk
  • mkdir /Repo_Master/Sketch_svn_tmp/branches
  • mkdir /Repo_Master/Sketch_svn_tmp/tags

스텝2.
임시 구조의 셋업이 끝났으면 이제 진행할 프로젝트를 trunk 서브 디렉토리에 넣는다. 예를 들자면 다음 커맨드를 이용해 /Developer/Examples 폴더에 있는 Sketch 프로젝트 폴더와 그 내용물을 복사해 넣을 것이다.


  • cp -R /Developer/Examples/Sketch /Repo_Master/Sketch_svn_tmp/trunk

스텝3.
빈 Subversion repository를 생성한다. 예를 들자면 /Repo_Master 폴더에 위치하는 Sketch_svn이라는 이름의 repository 를 원한다면 다음의 svnadmin 명령을 이용하면 된다.


svnadmin create /Repo_Master/Sketch_svn

위애서 설명한 대로 /Rempo_Master는 생성된 상태에서 해야 /Sketch_svn이 생성된다.

스텝4.
이제 임시 구조에서 새로운 repository로 import해서 Subversion 소스 관리 상태로 둔다. 다음 명령으로 수행할 수 있다.


  • svn import /Users/myUserName/Projects/Sketch_tmp
  • file:///Users/myUserName/Repositories/Sketch_svn -m “Initial import”



주의 :
*위 첫번째 줄의 백슬래시()는 다음 줄과 이어진다는 의미다. 한 줄로 쓸 땐 생략할 수 있다. 백슬래시를 쓴다면 그 뒤에는 빈칸이 없는 상태에서 RETURN키를 누른다.
*다음 문자열의 /는 3개가 맞다. file:///
*한 줄로 입력할 때에는 file:/// 앞에 빈칸을 하나 넣는다.
*따옴표(“)를 이용하면 커멘트를 넣을 수 있다. 그러나 누구나 알아볼 수 있는 문장을 쓰도록 한다.

만약 import명령이 제대로 끝나면 다음 그림처럼 임포트 된 프로젝트 파일들이 배열될 것이다.

사용자 삽입 이미지

그림은 Sketch_svn Subversion reository를 만들고 Sketch 프로젝트를 그 안에 넣은 걸 보여준다. 제대로 되었다면 그림처럼 보일 것이다.