※ SVN 서버측/ 개발자 측 구성으로 나뉨 ※
============================================================================
# SVN 서버측 세팅 ( SVN 서버 PC )
1. SVN 서버 설치 및 서버 URL 받기 & 서버 ID/PW 설정
https://jerryjerryjerry.tistory.com/36
2. SVN 서버 IP 주소 확인
3. 개발자에게 서버 ID/PW 값과 SVN 서버 URL 전달
* 위 보라색 박스 영역은 설정했던 ID 이며 ID/PW 정보도 개발자에게 전달
4. SVN 서버 PC 에서 프로젝트를 최초 업로드 (commit)
(굳이 이클립스로 하지 않아도 될 듯 하지만 여기서는 이클립스로 )
https://jerryjerryjerry.tistory.com/37
(위 링크 그대로 수행하면 해당 프로젝트에 대해 최초 업로드(commit) 이 되며
Head Revision 은 1 이된다.)
============================================================================
# 로컬서버 개발자측 ( SVN 서버 업로드 된 프로젝트 PULL)
1. 이클립스 + SVN 연동
- 플러그인 설치 / 세팅 https://jerryjerryjerry.tistory.com/37
( 위 링크 12번 플러그인 설치까지만 진행 )
- 플러그인 설치 완료 후
2. 커밋 ( UPDATE -> 수정 -> COMMIT )
※ 항상 프로젝트 UPDATE -> 수정 -> COMMIT 을 습관화 !! ※ (충돌방지)
1. UPDATE
( Synchronize with Repository 를 클릭하면 상단의 Team Synchronizing 탭으로 이동됨)
( Synchronize with Repository 는 원격저장소(최신 revision) 와 로컬 소스를 비교해줌 )
( 수정 파일의 충돌 여부도 알려줌 )
3. 원격저장소에서 커밋 된 소스 확인하기
- 이클립스 하단 SVN Repositories 에서 원격저장소 URL COPY
- 브라우저 URL 입력창에 복사 후 접근
* 여기서 빨간 박스는 revision 버전 넘버를 뜻한다 -> 커밋 할 때 마다 카운트됨 *
4. 커밋 충돌 원인 & 충돌 대처
1) 충돌 원인 ?
- 위의 3 번 항목 리비전 넘버가 23 으로 되어있음 ( 최신 리비전 : Head Revision )
-
위의 23 은 해당 프로젝트 UPDATE 를 진행했기 때문에 최신 revision 넘버가 기술됨
( 이렇게 update -> 수정 -> commit 을 하면 문제없이 커밋 가능 )
-
하지만, 기본적으로 프로젝트를 UPDATE 하지 않고 파일을 수정 후 Synchronizing with Repository
를 진행하면 충돌표시(해당 파일옆에 빨간색 화살표) 가 생긴다
(프로젝트 옆에 최신 revision 넘버인지 확인해야함. 위의 23 보다 낮은
22 revision 넘버이면 수정 후 커밋 할 때 원격저장소의 revision 넘버인 23 버전과 충돌하기 때문 )
2) 충돌 대처
- 예 1 ) update 안하고 파일 수정 후 Synchornize with Repository 클릭 시
- 예 2 ) update 하지 않고 파일 수정 후 update (pull) 클릭 시
* 수정 된 파일에서 mine (로컬 수정 소스 ) 와 head revision (저장소 최신version) 인
r25 소스 가 함께 기술됨. 이럴 때, 개발자와의 협의를 통해 원하는 소스 하나를 정하고
프로젝트 우클릭 -> Synchronize with Repository
4. PS
- show history ( revision )
프로젝트 우클릭 > Team > Show History
> 참조 <
SVN 관련 사이트 참조 ( SVN 서버설치 / SVN +이클립스 연동 / SVN + 이클립스 사용 : project push/pull )
https://jerryjerryjerry.tistory.com/55
[SVN] SVN 사용 방법, 다른 사람의 SVN Project를 사용해보자
* SVN이란? - SVN이란 사용자들이 작업한 파일 또는 소스를 SVN 서버에 올려 다른 협업자들이 업데이트 및 수정작업을 할 때 쓰이는 용도로 현업에서 프로젝트 및 실무에 많이 쓰입니다. - 즉, 하나
jerryjerryjerry.tistory.com