git & svn

Rui·2025년 3월 6일

GitHub

목록 보기
4/5
post-thumbnail

svn... 낯설다 너

아무래도 공부할때나 실제 프로젝트에서도 전부 git만 사용하다보니 다른 소스 관리 툴은 사용해본적이 없는데

요즘 일하는 곳에서는 svn을 사용하더라

사실 뭔지 아예몰랐...

svn ?

SubVersion : 중앙집중관리식 형상관리 소스 관리 툴

중앙 서버에서 모든 변경 관리되는 중앙 집중식 관리 툴인데...
분산형인 git과는 많은 차이가 있다.

항목GitSVN (Subversion)
저장소 방식분산형 (Distributed)중앙집중형 (Centralized)
작업 방식로컬 저장소에서 작업 후 푸시(Push)중앙 서버에서 작업 후 커밋(Commit)
이력 관리각 로컬 저장소가 전체 이력 관리중앙 서버에만 이력 저장
브랜치 관리브랜치 생성 및 삭제가 매우 빠르고 가벼움브랜치 관리가 복잡하고 느릴 수 있음
네트워크 의존성네트워크 없이 로컬에서 작업 가능작업 시 항상 네트워크 연결 필요
성능로컬에서 작업하므로 빠름네트워크 연결이 필요하여 상대적으로 느림
커밋커밋은 로컬에서 이루어지고 나중에 푸시커밋은 중앙 서버로 바로 반영됨
분산 작업각 개발자가 로컬 저장소를 가지므로 독립적모든 개발자가 중앙 저장소에 의존
기록 관리전체 커밋 히스토리를 로컬에서 관리서버에만 커밋 히스토리가 남음

svn이 유리한 경우

  • 기업에서 파일 버전 관리를 엄격하게 중앙 집중해야 할 때
  • 대용량 바이너리 파일을 다룰 때
  • 모든 개발자가 항상 최신 버전을 가져가야 하는 프로젝트를 진행할 때

아무래도 git이 대세다 보니 대부분은 git을 사용하지만
우리 회사처럼 svn을 여전히 사용하는 회사들도 아예 없지는 않다는 점

그래서 간단하게 brew로 설치하고 cli사용하는 법까지!

# brew로 svn 설치하기
brew install svn

# 설치됐는지 확인 (버전 확인)
svn --version

# checkout 하기(git clone 같은거)
svn checkout --username 아이디 --password 비번 url주소
	
# update 하기
기본(전체) : svn update
폴더 : svn update 폴더명
파일 : svn update 파일명

# 비정상 종료시 해결방법 -> checkout이나 update가 안될때
svn cleanup /파일경로
ex) svn cleanup /Users/user/폴더명
profile
“Always learning and moving.”

0개의 댓글