소프트웨어 버전 관리 도구 (2과목)

개발로 쓰는 개발 노트·2023년 7월 30일
0

정보처리기사 준비

목록 보기
51/57

공유 폴더 방식

  • 각자의 컴퓨터에 공유 폴더를 만들어서 작업을 관리하는 방식이다.
  • 다소 아날로그한 방식이기에 주로 사용하진 않는다.
  • 파일의 변경 사항을 데이터베이스에 기록하여 관리한다.
  • 종류는 SCCS, RCS, PVCS, QVCS 등이 있다.

클라이언트/서버 방식

  • 버전 관리 자료가 중앙 시스템(서버)에 저장되어 관리되는 방식이다.
  • 하나의 파일을 서로 다른 개발자가 작업할 경우 경고 메시지를 출력한다.
  • 서버에 문제가 생기면 작업은 중단된다.
  • 종류는 CVS, SVN(Subversion), CVSNT, Clear Case, CMVC, Perforce 등이 있다.

분산 저장소 방식

  • 버전 관리 자료가 하나의 원격 저장소와 분산된 개발자의 PC의 로컬 저장소에 함께 저장되어 관리되는 방식이다.
  • 로컬 저장소에서 버전 관리가 가능하므로 원격 저장소에 문제가 생겨도 로컬 저장소의 자료를 이용하여 작업한다.
  • 종류는 Git, GNU arch, DCVS, Bazaar, Mercurial, TeamWare, Bitkeeper 등이 있다.

Subversion(서브버전, SVN)

  • CVS를 개선한 것으로 아파치 소프트웨어 재단에서 2000년에 발표하였다.
  • 클라이언트/서버 구조로 서버에는 최신 버전의 파일들과 변경 내역이 관리된다.
  • 분산 저장소 방식과 유사한데 클라이언트는 대부분의 운영체제에서 사용되지만 서버는 주로 유닉스를 사용한다.
  • CVS의 단점이었던 파일이나 디렉터리의 이름 변경, 이동 등이 가능하다.

Git(깃)

  • 분산 버전 관리 시스템으로 2개의 저장소, 즉 지역(로컬) 저장소와 원격 저장소가 존재한다.
  • 파일의 변화를 스냅샷으로 저장하는데 스냅샷은 이전 스냅샷의 포인터를 가지므로 버전의 흐름을 파악할 수 있다.
  • 브랜치를 이용하면 기본 버전 관리 틀에 영향을 주지 않으면서 다양한 형태의 기능 테스팅이 가능하다.
profile
비전공자 개발초보입니다!

1개의 댓글

comment-user-thumbnail
2023년 7월 30일

공감하며 읽었습니다. 좋은 글 감사드립니다.

답글 달기