728x90
CVS, SVN, Git
- 형상관리 툴
- 소스의 변화를 끊임없이 관리하는 툴
- 소스를 버전별로 관리할 수 있고, 실수할 경우 원복 가능하게 하는 툴
CVS
- 개념
- GNU 라이센스
- 중앙에 위치한 Repository에 파일을 저장하고 모든 사용자가 접근 가능하도록 설계
- checkout으로 파일 복사, commit으로 변경사항 저장
- 최종 버전의 소스만 관리
- 장점
- 오랫동안 사용이 되었으며 안정적
- 파일 전체를 저장하지 않고 변경사항만 저장하여 적은 용량 사용
- 단점
- 파일 이동이나 이름 변경은 버전 변경 미발생
- 버전 분기가 힘들고, 장기간 분기된 버전 운영에 대해 미설계
- commit 실패 시 롤백 불가능
- 느린 속도
- 혼자 갭라할 경우 최종버전만 관리하는 CVS 툴 사용이 편리
SVN
- 개념
- CVS와 높은 호환성을 유지하며 약간의 버그를 수정한 대체 시스템으로 개발
- 중앙 관리
- 최초 1회에 한해 파일 원본 저장, 이후에는 원본과 차이점을 저장
- 버전 분기가 수비고, 대규모의 분기된 프로젝트에 도움
- 장점
- 원자적 commit으로 다른 사용자의 commit과 엉키지 않으며 commit 실패 시 롤백 지원
- 언제든지 원하는 버전으로 복구 가능
- 단점
- 파일과 디렉토리 변경 관련 버그
- 불충분한 저장소 관리 명령어
- CVS에 비해 상대적으로 불안정
- Local Repo가 없기 때문에 자신만의 version history 관리 불가능
- commit에 실수가 있을 시 다른 개발자에게 바로 영향 가능성
Git
- 개념
- CVS를 개선하고 보다 빠른 분산 버전 제어 시스템
- 서버 저장소와 개발자 저장소가 독립적
- 사용자 기록 탐색 가능
- 장점
- 빠른 속도
- 분기 버전의 효율적인 운영
- 오프라인에서도 전체 이력 이용 가능
- 분산된 P2P 모델
- commit 실수가 있어도 서버에 바로 영향 없음
- 단점
- 많은 기능 지원으로 높은 진입 장벽
- 개인 개발자에게 부적절
- 팀 개발을 위한 분산 환경 코딩에 최적화
Reference
GitHub - WeareSoft/tech-interview: 🙍 tech interview
:loudspeaker:🙍 tech interview. Contribute to WeareSoft/tech-interview development by creating an account on GitHub.
github.com
형상관리 툴(CVS, SVN, Git) (tistory.com)
형상관리 툴(CVS, SVN, Git)
CVS, SVN, Git 형상관리 툴 소스의 변화를 끊임없이 관리하는 툴 소스를 버전별로 관리할 수 있고, 실수할 경우 원복 가능하게 하는 툴 CVS 개념 GNU 라이센스 중앙에 위치한 Repository에 파일을 저장하
code-y.tistory.com
728x90
'개린이 개발자 독학노트' 카테고리의 다른 글
IntelliJ IDEA-인텔리제이, Eclipse이클립스 단축키 설정하기 (0) | 2022.12.10 |
---|---|
자바로 고객이 물품을 주문하는 코드 완성하기 (Feat. 미완성, 수정중) (0) | 2022.12.10 |
[Java 10] 자바 var (feat. 지역변수) (0) | 2022.12.05 |
자바 상속(feat.생활코딩) (0) | 2022.12.01 |
자바 기본 2 (0) | 2022.11.30 |