협업에서 업무를 진행하면서 Perforce
, SVN(SubVersion)
과 같은 중앙집중형 형상 관리 도구를 많이 사용하게 되었다. 특히나 오늘날의 대표 VCS 도구인 Git
과 어떤 차이점이 있는지 알아보자
💾 SVN(SubVersion)
SVN(SubVersion)
: 2000년에 CVS를 대체하기 위해 만들어졌으며 중앙 집중형 형상관리 툴
- 중앙 집중형 도구로, 별도의 Client/Server 구조로 나뉘어져 있음
- 델타 방식으로 형상관리를 진행하며 이는 수정사항이 발생한 버전만 따로 관리가 된다. 즉, 변경점들만 저장이 되기 때문에 누적되어서 관리가 된다. (diff)
특징
- 원격저장소(Server)에서 의존적
- 커밋한 내역이 바로 서버에 반영되어 다른 개발자에게 영향
- 보안적인 측면에서 Git보다는 뛰어남.
🤼♀️ Git
특징
- 스냅샷 방식을 사용하며, Git 등에서 사용하는 방식으로 새로운 버전이 만들어질 때, 해당 버전의 최종 파일로 관리가 되고 있다. 그럼에도 Git이 더 적은 양을 사용하는 이유는 해쉬 값을 통해 리소스를 관리하기 때문이다. (diff x)
- clone 명령어 인터넷 연결상태와 상관없이 자유롭게 사용 가능.
=> SVN보다 속도가 빠름
- 중앙 서버에 문제가 발생하여도 로컬 Repository를 이용하여 원복 가능
참고자료 : https://labs.brandi.co.kr/2018/02/26/ohyj.html