SVN : 중앙집중형. 서버를 중심으로 돌아감. 속도가 느릴 수 있지만 파일 잠금 기능이 있어 문서 관리에 좋음.
Git : 분산형. 각자가 전체 저장소를 복제해서 작업함. 빠르고, 브랜치 관리와 협업이 매우 강력함.
| 구분 | SVN (Subversion) | Git |
|---|---|---|
| 개발 방식 | 중앙집중식 버전 관리 | 분산형 버전 관리 |
| 저장소 구조 | 중앙 서버에 데이터 저장 | 로컬에 전체 저장소 복제 |
| 인터넷 연결 | 서버 연결 필요 | 로컬 작업 가능 |
| 속도 | 상대적으로 느림 | 매우 빠름 |
| 브랜치 | 디렉터리 복사, 무겁고 느림 | 포인터 방식, 가볍고 빠름 |
| 병합(Merge) | 기능 약하고 충돌 해결 불편 | 강력한 병합과 리베이스 지원 |
| 히스토리 관리 | 서버 기록 중심 | 전체 이력 로컬 저장 |
| 작업 충돌 | 파일 잠금 가능 | 충돌 발생 시 병합 도구 사용 |
| 적합한 환경 | 문서/대규모 파일 관리 | 협업 중심 소프트웨어 개발 |
| 대표 명령어 | svn checkout, svn commit 등 | git clone, git commit 등 |
| 대표 서비스 | 없음 (직접 서버 구축) | GitHub, GitLab 등 |
| 러닝 커브 | 사용법 단순 | 기능 많아 학습 필요 |