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은 Project 별로 소스를 구분한다.(기본적으로 같은 Project 안에서만 소스 변경 가능)
- SVN은 trunk와 branches로 구분할 수 있지만, Git의 Project 처럼 분리된 수준은 아니다.(SVN 전체를 하나의 Project로 사용 가능)
형상관리 전략 예시
일반적으로는 Git이나 SVN 중 하나를 사용한다.
그런데 형상관리 정책에 따라 상황이 달라질 수 있다.
- develop branch는 개발에만 사용하고, master branch는 배포시에 사용한다.
- 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]
[공식 Git 문서 - 영어]
'CICD' 카테고리의 다른 글
CICD 개요 및 사례 (0) | 2022.02.28 |
---|