SVN 이란?
Subversion의약자
GPL 라이선스
Revision control / version control / source control software
Windows 버전은 TortoiseSVN
– All commands are available directly from the Windows Explorer
– See the status of your files directly in the Windows Explorer.
– Available in many languages
– TortoiseSVN is stable
Local 폴더와 서버저장소를 연결 (1/3)
자신의 PC의 특정 폴더를 서버의 프
로젝트 저장소와 연결해야 함
– 그 폴더는 그 프로젝트용이 된다.
프로젝트를 저장할 local 폴더를 생
성
(여기서는 svn_sample)
생성한 폴더에 들어가서 마우스 오
른쪽 버튼을 클릭한다.
TortoiseSVN - Import를 선택한다.
6.
Local 폴더와 서버저장소를 연결 (2/3)
URL of repository에는 사전에 배포한 [IP +
하위 디렉토리 + 프로젝트명]을 입력한다.
OK 버튼을 누른다.
– 이제 이 폴더(예>svn_sample)는 URL에 입력한
repository와 연결되었다.
연결을 한 것이지 내용을 받은 것은 아니다.
7.
Local 폴더와 서버저장소를 연결 (3/3)
최초 한 번은 다음과 같은 인증을 요구할
수 있다.
그러면, SVN repository 관리자에게 미리
받은 개인 user name과 password를 입력
하면 된다.
– 이후 동일 PC에서는 더 이상 묻지 않는다.
8.
Local 폴더로 내용을가져 오기(최초)
해당 폴더에서 마우스 오른쪽 버튼을 눌러
서 Chekout을 선택한다.
– 이 과정은 최초 한 번 일어나는 것이며, 이후에
는 이 폴더에서 이 커맨드는 나타나지 않는다.
– HEAD revision은 최신 버전을 의미한다.
– Revison에 특정 버전을 입력하면 그때의 버전으
로 받는다.
– CVS의 checkout과 동일하며, git의 checkout과
는 쓰는 시점이 조금 다르고, Perforce의
checkout과는 관리 방식이 다르다.
이제 local 폴더는 서버 저장소의 내용과 동
기화 되었다.
– 'working copy를 받았다'라고 한다.
9.
최신 내용으로 업데이트받기
폴더에서 오른쪽 마우스 버튼을 누
르고 SVN Update를 선택한다.
다른 사람이 수정한 내용이 내 local
폴더에 업데이트 된다.
동일한 파일의 같은 부분을 나도 수
정하고 있다면 conflict이 발생한다.
– Perforce와는 다르게 해당 소스 코드에
직접 conflict 내용이 기입되는 방식이기
때문에 이런 문제가 발생하면 ND에게
직접 문의를....
10.
새로운 파일을 추가하기(1/2)
예제처럼, Main.cs를 새로 만들었다
면, 그 파일에서 오른쪽 마우스 버튼
을 누르고 Add를 선택한다.
그러면 아래와 같은 + 기호가 생긴
다.
11.
새로운 파일을 추가하기(2/2)
파일이 Add된 상태에서 서버에 반영
하려면 해당 파일 또는 폴더에서 오
른쪽 마우스 버튼을 누르고 Commit
을 선택한다.
Commit 메시지를 적고, 적용 파일
확인하고, OK를 누른다.
12.
소스 코드를 수정하고서버에 반영하기
Perforce와는 달리 그냥 파일을 수정
하면 된다. 조금이라고 서버와 다르
다면 오른쪽과 같이 파일에 느낌표
가 표시된다.
Add 때와 동일하게 Commit을 선택
한다.
오른의 그림과 같이 다시 녹색의 체
크가 되면서 서버와 동일한 파일임
을 알려 준다.
13.
SVN의 얇은 지식최종 정리
서버 (Repository) Local PC (Working copy)
1. import
2. checkout
3-1 update
3-2 commit
add / modify전체 코드
남에 의해 수정된 코드
내가 수정한 코드
0..n
0..n
** branch / tag / log / diff / blame / lock 등은 쓰다 보면 자연스럽게 알게 된다.