Certificate/정보처리기사

[2과목 소프트웨어 개발] 제품 소프트웨어 패키징 - 052. 소프트웨어 버전관리 도구

S_sun 2024. 7. 1. 09:15

1. 공유 폴더 방식

  • 버전 관리 자료가 로컬 컴퓨터의 공유 폴더에 저장되어 관리되는 방식
  • 약속된 공유 폴더에 매일 복사
  • 로컬로 복사 후 컴파일하여 이상유무 확인
  • 파일 오류 확인되면, 등록한 개발자에게 수정 의뢰
  • 파일의 변경 사항을 DB에 기록하여 관리
  • SCCS, RCS, PVCS, QVCS
    • RCS (Revision Control System) : 소스 파일 동시 수정 방지, 다른 방향으로 진행된 개발 결과를 합치거나 변경 내용 추적 가능

2. 클라이언트/서버 방식

  • 서버에 저장되어 관리되는 방식
  • 로컬로 복사하여 작업한 후 변경된 내용을 서버에 반영
  • 모든 버전관리는 서버에서 수행
  • 하나의 파일을 서로 다른 개발자가 작업할 경우 경고 메시지 출력
  • 서버 문제시, 복수되지 전까지 협업 및 버전관리 작업은 중단
  • CVS, SVN, CVSNT, Clear Case, CMVS, Perforce

3. 분산 저장소 방식

  • 하나의 원격 저장소와 분산된 개발자 PC로 로컬 저장소에 함께 저장되어 관리되는 방식
  • 원격 저장소의 자료를 로컬로 복사하여 작업한 후 변경된 내용을 로컬 저장소에서 우선 반영(버전관리)한 다음 이를 원격 저장소에 반영
  • 원격 저장소에 문제가 생겨도 로컬 저장소의 자료를 이용하여 작업 가능
  • Git, GNU arch, DCVS, Bazaar, Mercurial, TeamWare, Bitkeeper, Plastic SCM

4. Subversion(SVN)

  • CVS를 개선한 것 / 아파치에서 발표
  • 모든 개발 작업은 trunk디렉토리에서 수행되며 추가작업은 branches 디렉토리 안에 별도의 디렉토리를 만들어 작업 후 trunk 디렉토리와 병합(merge)
  • 커밋(Commit)할 때마자 리비전(Revision)이 1씩 증가
  • 클라이언트 : 운영체제 / 서버 : UNIX
  • 무료 사용 가능
  • CVS 단점이었던 파일, 디렉토리 이름변경, 이동 등 가능
  • add, commit, update, checkout, lock/unlock, import, export, info, diff, merge

> import로 서버에 등록(최초 1회) → checkout → 작업 → add → update → commit

5. Git(깃)

  • 로컬 저장소, 원격 저장소가 존재
  • 로컬 저장소 : 개발자들이 실제 개발을 진행하는 장소 / 버전관리 수행
  • 원격 저장소 : 여러 사람들이 협업을 위해 버전을 공동 관리하는 곳 / 버전관리 내역을 반영하거나 다른 개발자의 변경 내용을 가져올 때 사용
  • 버전관리가 신속하게 처리됨
  • 원격 저장소나 네트워크에 문제 있어도 작업 가능
  • 브랜치이용해 다양한 형태의 기능 테스팅 가능
  • 파일의 변화를 스냅샷으로 저장
    • 이전 스냅샷의 포인터를 가지고 있으므로 버전의 흐름 파악 가능
  • add, commit, branch, checkout, merge, init, remote add, push, fetch

> init으로 지역 저장소 만듦 → remote add 원격 저장소 연결 → add → all → commit → push
> 버전관리 : fetch → 작업 → add → commit → push

 

 

📖 Reference
 

2023 시나공 정보처리기사 필기 : 네이버 도서

네이버 도서 상세정보를 제공합니다.

search.shopping.naver.com

 

728x90
반응형