SVN, Git 차이
일단 공통점은?
- 둘 다 형상관리 툴이다.
형상관리란?
- 영어로 Version Control Revision Control
- 소프트웨어의 버전관리를 뜻함.
- 소스코드의 변화를 관리하는 것.
그게 왜 필요한지?
- 소스를 버전 별로 관리할 수 있음
- 그래서 소스가 삭제되거나, 수정되었을 때 그리고 과거 버전으로 복구하고 싶을 때 유용함.
- 여럿이서 개발을 하는 경우, 누가 어느 부분을 수정했는지 관리가 됨.
- 그래서 코드 병합, 코드 리뷰를 할 때 용이함.
형상관리 툴의 종류
- Client/Server 타입
- Subversion(SVN), CVS, Perforce, ClearCase, TFS
- 분산저장소 타입
- Git,. Mercurial, Bitkeeper, SVK, Darcs
- Folder 공유 타입
- RCS, SCCS
차이점
- SVN은 중앙서버를 이용해 소스코드를 보관, Git은 여러 분산 서버와 PC 로컬저장소를 통해 소스코드를 보관
- SVN에선 Commit을 하면 바로 서버와 연동됨.
- Git에선 Commit을 하더라도 push 하기 전까지는 서버에 영향을 미치지 않음
- 그래서 commit을 할 때 더욱 신중해야 하는 것은 SVN이다.
- 사본을 로컬에서 관리하는 Git은 SVN보다 소스코드에 더 빨리 접근할 수 있음.
- SVN은 version history를 가지지 않으나, Git은 가짐.
- 그래도 SVN에서도 몇 일 전까지의 history는 확인 가능.
- 그러나 확인만 가능. 그것을 다시 복구하거나 하는 행위 불가능
- Git은 원하는 순간에 history를 통해 이전 소스코드를 보거나, 이용할 수 있음
- Git이 SVN보다 더 빠르고, 많은 기능을 가지는 것처럼 보임.
- 그래서 Git이 SVN보다 좀 더 사용하기 힘듬.
- 이용하기 위해 공부가 더 필요한 것은 Git 이다.
reference
'TIL' 카테고리의 다른 글
2024.01.31 쿠버네티스 공부 (2) | 2024.01.31 |
---|---|
Web Application Firewall(WAF) (0) | 2023.11.16 |
JPA fetchType (EAGER, LAZY) (0) | 2022.12.06 |
디자인패턴 - 컴포지트 패턴 (Composite Pattern) (0) | 2022.11.12 |
디자인패턴 - 프록시 패턴 (Proxy Pattern) (0) | 2022.11.08 |