Git과 같이 형상관리를 도와주는 시스템 중 SVN에 대해 알아보자.
◆ SVN( SubVersion )
Git과 마찬가지로 형상관리 툴이다.
Git과 가장 큰 차이점은 SVN에서는 commit자체가 중앙 저장소로 올리는 것(=push)이기 때문에 개발자가 자기 자신만의 version history를 가질 수 없다.
▶ SVN 환경설정
이클립스에서 SVN을 사용하기 위해서는 플러그인 설치가 필요하다.
1. Subversive 설치
Help -> Eclipse Marketplace 에서 “SVN”을 검색하여 Subversive-SVN Team provider 설치 후 재시작
2. SVN Connector 설치
Window -> Preferences / Team -> SVN -> SVN Connector탭에서 Get Connection클릭 후 SVN Kit을 설치 -> 이클립스재시작
▶ SVN 사용 준비
1. 이클립스View변경
window-> show view -> other ( 또는 우측상단 open perspective버튼 )
SVN Repositories 클릭하여 SVN모드?로 변경
2. 저장소등록
SVN Repositories탭에서 우클릭 New -> Repository Location클릭 후 연동할 URL과 user/password입력 => 새로운 저장소가 생성된다.
3. 로컬로연동(check out)
저장소 우클릭 -> check out
로컬로 프로젝트 소스를 다운받는다. 이렇게 받은 프로젝트는 SVN이 관리하는 프로젝트가 된다.
( 프로젝트 내부에 .svn폴더가 있으면 svn이 관리하는 프로젝트 )
▶ SVN사용법
프로젝트 우클릭 -> team 탭에서 모든 형상관리가 이루어진다.
또 프로젝트 전체가 아닌 소스파일 우클릭을 통해 일부 파일만 형상관리 하도록 할 수도 있다.
-
- Synchronize with repositiory
- 서버와 로컬의 싱크를 맞추는 작업.
즉 서버에서의 수정사항과 로컬에서의 수정사항(업로드 및 업데이트파일)을 보여주기 때문에 작업 전 동기화는 필수!!
syncrhonize를 하게 되면 synchronize탭이 생기게 되는데 형상관리작업은 해당 탭에서 하는것이 수월하다.
-
- commit
- 로컬의 파일을 서버로 업로드 시키는 작업
-
- update
- 서버의 파일을 로컬로 다운받는 작업
-
- override and update
- 로컬작업 파일과 서버파일이 다를때, 별도의 수정 없이 서버의 파일로 바꿔치기
-
- show history
- 현재까지 모든 사람이 서버에 commit한 사항들을 볼 수 있다.
-
- export
- svn이 관리하지 않는 파일로 로컬로 복사