[SVN] SVN 이란?
2023. 6. 3. 18:52ㆍ기술 창고/SVN
728x90
SMALL
SVN
SVN은 SubVersion 단어의 줄임말로 중앙집중관리식 형상관리 소스 관리 툴입니다.
각각의 개발자들이 본인의 코드 변경 사항을 하나의 중앙 저장소 (Center Repository) 에 commit 하는 방식으로 운영합니다.
즉, 로컬 PC에서 커밋 시 중앙 저장소에 바로 반영되고 중앙 저장소에 있는 내용들을 다른 로컬 PC에 업데이트 시킬 수 있습니다.
이해가 직관적이라는 장점이 있지만 중앙 저장소에 문제가 발생될 경우에 서비스 자체가 중단되는 현상이 발생할 수 있습니다.
CVS라고 하는 형상관리 툴이 저장소의 파일들의 이름을 변경할 수 없는 한계, 디렉토리의 이동이나 이름 변경을 지원하지 않는 한계, 유니코드로 된 파일 이름을 제한적으로만 지원하는 한계점들을 가지고 있어 이를 보완하기 위한 형상관리 툴입니다.
이와 다르게 모두가 흔히 사용하고 가장 많이 알려진 Git 은 중앙 저장소 (Center Repository)를 통째로 복사한 별도의 branch repository를 각 개발자들이 가지고 변경 사항을 반영시키며, 최종적으로 이 변경사항을 중앙 저장소에 반영하는 Pull Request 를 요청하면서 운영됩니다.
SVN 장점
- 원자적인 커밋을 지원하므로 다른 사용자의 커밋과 얽히지 않습니다. 롤백도 가능합니다.
- 파일과 디렉토리의 삭제, 이동 이름 변경, 복사같은 기능들을 지원합니다.
- 소스 파일 이외에 이진 파일(텍스트 파일이 아닌 컴퓨터 파일) 도 효율적으로 저장 가능합니다.
- 디렉터리도 버전 관리를 할 수 있습니다.
- 저장소의 크기에 상관없이 일정한 시간 안에 가지치기나 태그를 할 수 있습니다.
- 처리 속도가 상대적으로 빠릅니다.
SVN 단점
- 소스코드는 merge가 가능하지만 이진파일은 어느 한쪽을 버릴 수 밖에 없습니다.
- 개별 개발자만의 개발 이력을 가질 수 없습니다.
- 잦은 커밋이 발생하면 리비전 번호가 크게 증가할 수 있습니다.
- 충돌이 일어날 확률이 높습니다.
[도움받은 글]
https://handhand.tistory.com/248
https://truecode-95.tistory.com/18
728x90
반응형
LIST
'기술 창고 > SVN' 카테고리의 다른 글
[SVN] SVN 서버에 프로젝트 생성 import 및 Commit 확인 (0) | 2023.06.07 |
---|---|
[SVN] IntellJ 와 VisualSVN 연동 및 외부 접속 (0) | 2023.06.04 |
[SVN] TortoiseSVN 로컬 환경 기본 사용법 - (1) (1) | 2023.06.03 |
[SVN] SVN 기본 용어 정리 (0) | 2023.06.03 |