6. 버전관리 시스템의 필요성
SVN을 써보자!
프로젝트
>_ < !!
개발자 개발자
a.Cpp , b.Cpp 수정
a.Cpp 수정
SVN
7. SVN을 사용하니?!
ㆍ 개발 버전과 릴리즈 버전을 섞이지 않고 쉽게 관리 할 수 있구나!
ㆍ 소스를 잘 못 수정 했더라도 기록이 남고 되돌리기가 쉽구나!
ㆍ 수정, 추가, 삭제 등의 기록이 모두 남고 변경 사항을 추적하기 쉽구나!
(누가 일을 안하는지는 덤으로!!)
ㆍ 우리가(개발자들) 따로 따로 백업을 하지 않아도 되구나!
이거슨 마치 신세계!!
개발자
25. VS도 연동해보자!!
솔직히 유료버전이 더 간지긴 한데…돈 없으니까!
무료버전으로 설명한다! (플러그인이 다름)
아무튼 다운로드는 http://ankhsvn.open.collab.net/ 에서 한다!
회원가입 해야하는데 영어다…
근데 솔찌 그정도는 혼자서 하자…
AnkhSvn.msi 파일을 받았을텐데 받은 후엔 그냥 더블 크리리리리릭하면 된다.
VS도 당연히 플러그인
이
필요하다 제군!
개발자
26. VS도 연동해보자!!
이런 창은 무조건
동의 후에 Install이다!
그리고 Finish나오면
클릭!
개발자
34. SVN은 대충 쓰는거 아니다!
ㆍRepository - 프로젝트 파일 및 변경 정보가 저장되는 장소
ㆍImport - 빈 Repository에 맨 처음 파일들을 채우는 것
ㆍCheckout - Repository에서 프로젝트 관련 파일들을 받아 오는 것
ㆍCommit - Checkout한 파일의 수정사항을 갱신
ㆍRevision - Commit 할 때 마다 카운트 되는 번호
ㆍUpdate - Checkout한 파일들을 최신의 것으로 갱신
ㆍExport - 버전관리 파일들을 뺀 순수 파일만 빼내는 것
용어 정도는 걍 외워라…
개발자
35. SVN은 대충 쓰는거 아니다!
ㆍTag - 개념적으로 특정 시점에서 프로젝트의 스냅샷을 찍어두는 것이다.
즉 Revision 번호 그자체에 해당한다.
ㆍ Branch - 브런치 생성은 복사와 같은 개념이다. 물론 Tag도 비슷하다.
Backup 해두는 정도로 생각하면 될듯하다.
ㆍ Trunk - 프로젝트에서 가장 중심이 되는 디렉토리로 소스와 파일들이 포함된
다.
이건 중요하다!
어떤 폴더를 어떻게 쓰는지
는
알아야겠지?
개발자
36. SVN은 대충 쓰는거 아니다!
ㆍTag - 개념적으로 특정 시점에서 프로젝트의 스냅샷을 찍어두는 것이다.
즉 Revision 번호 그자체에 해당한다.
ㆍ Branch - 브런치 생성은 복사와 같은 개념이다. 물론 Tag도 비슷하다.
Backup 해두는 정도로 생각하면 될듯하다.
ㆍ Trunk - 프로젝트에서 가장 중심이 되는 디렉토리로 소스와 파일들이 포함된
다.
이건 중요하다!
어떤 폴더를 어떻게 쓰는지
는
알아야겠지?
개발자
41. 잠깐…CVS랑 뭐가 다름?
ㆍ 커밋 단위가 파일이 아닌 체인지셋입니다.
ㆍ CVS에 비해 엄청나게 빠른 업데이트/브랜칭/태깅 시간이 CVS보다 21배 빠름
ㆍ 파일 이름 변경, 이동, 디렉토리 버전 관리도 지원.
ㆍ 원자적 커밋. CVS에서는 여럿이 동시 커밋할 때 종종 충돌이 발생하는데 Subversion에서는 더 이상 그런 일이 없어졌습니다.
ㆍ 양방향 데이터 전송으로 네트워크 소통량 최소화합니다.
ㆍ 트리별, 파일별 접근 제어 리스트. 저장소 쓰기 접근을 가진 개발자라도 아무 소스나 수정하지 못하게 조절할 수 있습니다.
ㆍ 저장소/프로젝트별 환경 설정 가능
ㆍ 확장성을 염두에 둔 구조, 깔끔한 소스
ㆍ 커밋 통지 메일 스크립트 기본 제공. CVS에서라면 스크립트를 따로 구해서 써야 하는 번거로움이 있었지만,
Subversion은 기본 제공 스크립트를 이용해서 훨씬 손쉽게 설정이 가능합니다.