#들어가는 말
GIT과 SVN(Subversion)는 대중적으로 많이 쓰이는 버전관리 시스템이다.
기업에서는 기존의 구축이 SVN으로 구축된 곳이 많고
신생 기업이나 내부 팀프로젝트의 경우 GIT을 많이 쓰는 추세로 보인다. (모두 나의 경험상 이야기이다.)
만약 기존 규모가 있는 기업이지만, 프로젝트에서 GIT을 (심지어 엔터프라이즈 버전으로 쓴다면) 메인으로 쓰고 있다면
기술에 대한 반영이 빠른 개발자 관점에서 성숙한 조직이라 생각한다. (이건 그냥 지극적인 견해이다.)
그렇다면 버전관리 시스템은 무엇이고,
GIT과 SVN 둘의 차이는 어떠한 차이가 있을까?
먼저 대표적으로 짜파게티와 짜장면의 차이처럼.. 이 둘의 개념은 명확히 다르다.
형상관리는 일반적(최근에는)인 형태로 2가지로 나뉘는 데, *중앙형 형상 관리이냐 / *분산형 형상 관리이냐 로 나뉜다.
이에 관한 적당한 책으론
[ 자바 유틸리티 - 장윤기 저 ] 와 [ 성공으로 이끄는 팀 개발 실천 기술 - 이케다 타카후미 외 2명] 에 관한 책이 있다.
한번 읽어보면 정리 하는 데에 도움이 많이 된다.
#중앙형 형상 관리
모든 개발자가 개발 시스템을 중앙의 서버에 연동해 버전을 관리한다.
한 서버를 타겟으로 DATA를 담을 아카이브로 설정이 되어지고, 개발자들이 Data를 받아와서 다시 업로드 하는 형태다.
즉 SVN, CVS 이 이쪽에 해당한다.
주로 SVN을 많이 쓴다. (적어도 내 주위에서는)
# SVN 이란?
# SVN의 설치와 사용
#분산형 형상 관리
중앙형 형상 관리의 단점을 해결하고자 도입된 방식으로 리누즈 토발즈가 고안 했고,
레포지토리를 여러 곳에 분산시켜서 관리하는 개념이다. 즉, 중앙 서버 집중형인 SVN하고 반대의 개념이다.
이 개념이 조금 생소한 데, 쉽게 얘기하면 중앙형은 서버를 아카이브로 몰빵하는 것이고, 분산형은 내 로컬도 아카이브가 되고, 서버도 아카이브가 된다.
또한, 아카이브를 복사해 간 동료의 로컬PC도 아카이브가 된다. 단순히 분산형 형상 관리에서 서버의 위치는 관리 기능만 있는 아카이브라고 생각하면 된다.
대표적으로 Git이 있다.(Mercurial, Bazaar 도 있다)
# GIT 이란?
# GIT의 설치와 사용
'Tech' 카테고리의 다른 글
PMD 와 Xpath (0) | 2016.12.02 |
---|---|
Javadoc 문법 (0) | 2016.11.22 |
블로그에 소스코드 올리기 color scripter (0) | 2016.11.10 |
Virtualizaion 이란 (0) | 2016.11.09 |
ELK 힙사이즈 확장 (0) | 2016.11.09 |