🐙 SVN
- Subversion은 버전 관리 시스템의 한 종류로, 소스 코드나 문서의 변경 이력을 체계적으로 관리할 수 있게 해주는 도구
🦮 기본 개념
| 용어 | 설명 |
|---|
| Repository(저장소) | 모든 버전의 파일이 저장되는 중앙 서버 |
| Working Copy(작업 복사본) | 개발자가 자신의 로컬 컴퓨터에서 작업할 수 있도록 저장소의 파일을 복사한 것 |
| Commit(커밋) | 작업 복사본에서 변경한 내용을 저장소에 반영하는 명령 |
| Update(업데이트) | 저장소의 최신 내용을 내 작업 복사본으로 가져오는 명령 |
| Checkout(체크아웃) | 저장소에서 처음으로 작업 복사본을 가져오는 명령 |
| Revert(되돌리기) | 작업 복사본을 이전 버전으로 되돌리는 명령 |
| Conflict(충돌) | 두 명 이상이 같은 부분을 수정할 때 생기는 충돌 상황 |
🌒 SVN vs GIT
| 구분 | SVN | GIT |
|---|
| 방식 | 중앙 집중식 | 분산형 |
| 저장소 구조 | 중앙 서버 1개 | 각 클라이언트가 전체 저장소 복사본을 가짐 |
| 오프라인 작업 | 불가능(서버 필요) | 가능 |
| 속도 | 서버 의존으로 느림 | 빠름 |
| 충돌 처리 | 단순하지만 제한적 | 강력하지만 복잡함 |
🐁 SVN Repo 생성법
- https://www.visualsvn.com/downloads/ VisualSVN Server을 다운받는다.
- 다운 받은 어플을 생성 후 Repositories에 레포지토리를 생성한다.
- Users에서 create new user 후 계정을 생성한다.
- CMD를 열고 프로젝트를 SVN 서버에 연결해준다.
svn checkout https://local/svn/project/ C:\project
- 계정을 입력하면 연결된다.
🐓 SVN에 proejct 넣기
- 파일을 복사한다.
xcopy C:\project\* C:\project\ /E /H /K
- 프로젝트 경로로 이동한다.
- 현재 폴더와 하위 폴더 전체의 파일을 svn에 추가한다.
svn add * --force
- svn에 커밋한다.
svn commit -m "commit"
- repo를 확인하자