본문 바로가기
[AWS]/GITLAB

[AWS] GIT 과 SVN의 차이점

by METAVERSE STORY 2022. 7. 19.
반응형
728x170

1. GIT 이란?

깃은 컴퓨터 파일의 변경 사항을 추적하고 여러 명의 사용자들 간 해당 파일들의 작업을 조율하기 위한 분산버전 관리 시스템이다. 소프트웨어 개발에서 소스코드 관리에 주로 사용되지만 어떠한 파일 집합의 변경사항을 지속적으로 추적하기 위해 사용될 수 있다. 2005년 리누스 토르발스가 처음 개발했다. 

2. SVN이란?

아파치 서브버전이라고 하고 서브버전이라고도 하는 SVN은 자유 소프트웨어 버전 관리 시스템이다. 명령줄 인터페이스에서 사용하는 명령어를 따서 SVN이라고 줄여 부르며 제한이 있던 CVS를 대처하기 위해서 2000년부터 콜랩넷에서 개발되었다. 

서브 버전은 클라이언트 서버 모델을 따른다. 서버는 작업하는 컴퓨터내에 둘 수도 있고, 전산망에 연결된 별도의 컴퓨터에 두고 사용할 수도 있다. 서브버전 서버와 클라이언트는 http, https, svn, svn+ssh의 규약으로 통신한다.

 

3. GIT과 SVN의 차이점 

GIT과 SVN은 둘다 버전관리 시스템중 하나이다. 

SVN은 대표적인 중앙 집중식 VCS 이다.

중앙 집중식 VCS는 서버에 최종본 한 벌이 존재하며 사용자들은 이 중 수정을 원하는 파일만 로컬에 받아 수정한 후 서버에 올린다. 간단한 방법으로 협업이 가능하고 관리자가 누가 어떤일을 하고 있는지 알기 쉽다.  그러나 중앙 서버가 다운되면 업무가 마비된다는 단점이 존재한다. 

또한 개발자 자신만의 version history를 가질 수 없다. 

 

GIT은 대표적인 분산 VCS이다.

파일을 저장하는 서버가 존재하지만 수정을 위해 프로젝트 전체를 로컬에서 다운 후 수정할 수 있다.

중앙 서버가 다운되더라도 개별 사용자들은 작업이가능하며 서버가 날아가도 다운 받은 내용이 남아있어 안정적이다. 개발자 자신만의 version history를 가질 수 있고 혼자서 수정하기 때문에 충돌의 염려 없이 수정이 가능ㅎ다ㅏ.

최종적으로 서버에 올릴 때 신경써서 Merge 해주면 된다. 

 

한번 개발하고 한동안 추가 개발이 없다면 -> SVN

지속적으로 개발, 코드의 안정성이 필요한 경우 -> GIT

반응형
그리드형

댓글