본문으로 바로가기

Git, SVN 개요

category CICD 2022. 3. 13. 18:14

 

GIT 과 SVN의 소개

모두 형상관리 도구다. 소스 관리 툴이라고도 부른다.

  • 대규모 프로젝트나 유지운영 과정에서 소스 변경 이력을 정확히 기록한다.
  • 책임 소재를 명확히 하기 쉽다.
  • 소스 병합(merge) 시 다른 부분을 찾을 수 있다.
  • 서버에 저장된 소스를 로컬 PC에 저장할 수 있다.

 

Git과 SVN의 차이점

(1) Git의 기능이 SVN보다 다양하다(SVN보다 Git이 늦게 출시됨) → Git 사용법을 배우는데 SVN보다 오래 걸림

(2) 소스 업로드 속도 : Git이 SVN보다 빠르다

(3) 소스 업로드 방법 : Git (add > commit > push) ↔ SVN (add > commit)

(4) Git 커밋 ID : hash 16진수 (랜덤) ↔ SVN 커밋 ID : 10진수 (누적)

(5) master branch 삭제 과정 :
    Git은 master branch 이외 다른 branch를 default로 설정해야 삭제 가능, SVN은 trunk에 있는 branch도 삭제 가능

 

Git 버전 관리(예시)

  • Git은 Project 별로 소스를 구분한다.(기본적으로 같은 Project 안에서만 소스 변경 가능)

 

SVN 버전 관리(예시)

  • SVN은 trunk와 branches로 구분할 수 있지만, Git의 Project 처럼 분리된 수준은 아니다.(SVN 전체를 하나의 Project로 사용 가능)

 

형상관리 전략 예시

일반적으로는 Git이나 SVN 중 하나를 사용한다.

그런데 형상관리 정책에 따라 상황이 달라질 수 있다.

 

Git branch 간 이동

  • develop branch는 개발에만 사용하고, master branch는 배포시에 사용한다.

 

Git to SVN 이동

  • Git의 master branch는 개발에만 사용하고, 운영 환경에 배포하기 위해서는 SVN의 trunk로 commit해야 한다.

 

결론

 

Git과 SVN 모두 장단점이 있으니 현재 구성된 형상관리 도구(CICD 환경)를 잘 사용하자.

최근에는 Git을 많이 사용하니 Git의 기본적인 사용법은 공부하는 게 좋다.
(repository 생성, 소스 업로드/다운로드, branch 생성 및 merge, 소스 conflict 시 대처법 등)

 

 

참고자료

[누구나 쉽게 이해할 수 있는 Git 입문 - 입문/발전 편을 모두 이해하면 좋다]

※ 일반적으로 사내에 이미 구성된 Git project에서 일부 branch를 대상으로 개발할 것이다.

https://backlog.com/git-tutorial/kr/

 

[나무위키 - Git]

https://namu.wiki/w/Git

 

[공식 Git 문서 - 영어]

https://git-scm.com/doc

 

 

 

 

 

'CICD' 카테고리의 다른 글

CICD 개요 및 사례  (0) 2022.02.28