VCS | CVS, SVN, Git

2022. 9. 22. 05:16·기타
반응형

📌  형상관리 툴(Version Control System)

소스코드의 변화를 추적하고 기록하기 위해서 사용하는 툴

📌  CVS(Concurrent Versions System)

2세대 VCS로 오랜 기간 사용되었다.(수정사항을 파일별로 추적하는 1세대 VCS인 RCS의 프론트엔드이다.)

중앙에 위치한 Repository에 파일을 저장하고, 모든 사용자가 접근 가능하도록 설계되어있다.

최종 버전의 소스만 관리한다. -> 혼자 개발할 경우에 적합하다.

 

- 장점

시스템이 안정적이다.

하나의 파일에 동시작업 가능한 최초의 VCS

파일 전체를 저장하는 것이 아니라 변경사항만을 저장함으로 용량을 적게 차지한다.

 

- 단점

파일 이동이나 이름 변경은 관리가 되지 않아서 파일을 지우고 다시 만들어야 한다.
버전 분기가 힘들다.
commit 실패 시 롤백 불가능
상대적으로 느린 속도

📌  SVN(Apache Subversion)

CVS를 대체하기 위한 시스템으로 개발되었다.
중앙 관리만 지원한다.


- 장점
원자적 commit으로 다른 사용자의 commit과 엉키지 않으며 commit 실패 시 롤백 지원 (원자적 commit : 파일 단위가 아닌 change set이 commit 단위)
효율적인 버전 분기, 언제든지 원하는 버전으로 복구 가능
이진파일도 효율적으로 저장 가능


- 단점
저장소 관리 명령어가 충분하지 않다.
CVS에 비해 상대적으로 불안정
Local Repository가 없기 때문에 자신만의 version history 관리 불가능(<-> git)
commit에 실수가 있을 시 다른 개발자에게 바로 영향을 준다. (SVN에서 commit을 하면 중앙저장소에 바로 합쳐진다.)

📌  Git

3세대 툴. 오늘날 가장 널리 사용되는 VCS
서버 저장소와 개발자 저장소가 독립적이다.

개인 개발자보다는 팀 개발을 위한 분산 환경 코딩에 최적화되어있다.


- 장점

빠른 속도

로컬에 레포지토리 복사 가능

오프라인에서도 이용 가능

commit실수를 해도 서버에 바로 영향 없음, 커밋 수정 가능.

사용자 기록 탐색 가능


- 단점
SVN보다 많은 기능을 지원하는 만큼 높은 진입장벽

한눈에 diff를 보기 어렵다.

 

 

 

 

참고

https://initialcommit.com/blog/Technical-Guide-VCS-Internals#:~:text=CVS%20is%20a%20frontend%20for,on%20the%20same%20files%20simultaneously.

https://haayany.tistory.com/entry/%ED%98%95%EC%83%81%EA%B4%80%EB%A6%AC%ED%88%B4-%ED%8A%B9%EC%A7%95-Perforce-Git-SVN-CVS

https://goddaehee.tistory.com/158

반응형
저작자표시 비영리 변경금지 (새창열림)

'기타' 카테고리의 다른 글

node.js 개발툴 | nodemon으로 서버 변경사항 바로 적용하기  (0) 2022.09.27
GitHub 꾸미기 | waka-box : 프로필에 코딩시간 표시하기  (0) 2022.09.25
MySQL | 테이블 데이터 삭제하기(외래키 제약 무시)  (0) 2022.08.14
Httpie | HTTP요청 보내기  (0) 2022.07.18
zsh: command not found: conda 오류(Mac)  (0) 2022.07.15
'기타' 카테고리의 다른 글
  • node.js 개발툴 | nodemon으로 서버 변경사항 바로 적용하기
  • GitHub 꾸미기 | waka-box : 프로필에 코딩시간 표시하기
  • MySQL | 테이블 데이터 삭제하기(외래키 제약 무시)
  • Httpie | HTTP요청 보내기
이라후
이라후
  • 이라후
    화이팅
    이라후
  • 전체
    오늘
    어제
    • 분류 전체보기 (133)
      • TIL (23)
      • 기타 (26)
      • Python (14)
      • Django (10)
      • JavaScript (8)
      • git & GitHub (8)
      • Web (10)
      • Go (3)
      • wecode (31)
  • 반응형
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이라후
VCS | CVS, SVN, Git
상단으로

티스토리툴바