1. SVN ( Subversion ) 이란 ?
: 소스 코드 버전 관리 시스템(Version Control System, VCS) , 자유 소프트웨어 버전 관리 시스템이다.
제한이 있던 CVS를 대체하기 위해 2000년부터 콜랩넷에서 개발되었다.
( * CVS(Concurrent Versions System, 동시 버전 시스템)는 동시 버전 관리 시스템(Concurrent Versioning System)으로도 알려져 있으며, 버전 관리 시스템을 구현한다. 보통 소프트웨어 프로젝트를 진행할 때, 파일로 이뤄진 모든 작업과 모든 변화를 추적하고, 여러 개발자(지역적으로 떨어진)가 협력하여 작업할 수 있게 한다. CVS는 오픈 소스 프로젝트에서 널리 사용되었다. 현재는 CVS가 한계(저장소 파일 이름변경불가, 제한적인 파일 지원, CSV 프로토콜의 번거로움 )를 맞아, CVS를 대체하는 서브버전이 개발되었다. )
2. GIT 이란 ?
: 깃(Git)은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다. 소프트웨어 개발에서 소스 코드 관리에 주로 사용되지만 어떠한 집합의 파일의 변경사항을 지속적으로 추적하기 위해 사용될 수 있다. 기하학적 불변 이론을 바탕으로 설계됐고, 분산 버전 관리 시스템으로서 빠른 수행 속도에 중점을 두고 있는 것이 특징이며 데이터 무결성, 분산, 비선형 워크플로를 지원한다.
깃은 2005년에 리눅스 커널 개발을 위해 초기 개발에 기여한 다른 커널 개발자들과 함께 2005년에 리누스 토르발스가 처음 개발한 것이다. 2005년부터 지금까지 주니오 하마노(Junio Hamano)가 소프트웨어의 유지보수를 맡고 있다.
3. SVN과 GIT의 차이점은 ?
: SVN 중앙 집중식 버전 관리 시스템 (Centeralized Version Control System; CVCS)
CVCS에서는 버전 관리되는 모든 파일을 저장하는 하나의 서버와, 이 중앙 서버에서 파일들을 가져오는(checkout) 다수의 클라이언트가 존재 합니다. (SVN에서 프로젝트를 Checkout받아 프로젝트를 로컬에 가져오고, 이를 수정하고 커밋하면 다시 서버에 저장되는 구조)
: Git 분산 버전 관리 시스템(Distributed Version Control System; DVSC)
DVCS에서는 클라이언트가 파일들의 마지막 스냅샷을 가져오는 대신 저장소(Repository)를 통째로 복제. 이는 서버에 문제가 생기면 모든 버전관리 작업이 All Stop되는 CVCS와 달리, 클라이언트의 내용을 서버에 복사하면 서버를 복구 할 수 있다. 체크아웃 할 때마다 전체 백업.
출처: https://treeroad.tistory.com/entry/SVN-이란 [날아보자]
'IT Diary > # CodingTest' 카테고리의 다른 글
프로그래머스 Printer (0) | 2021.08.28 |
---|