티스토리 뷰

형상 관리란?

• 소프트 웨어의 개발 과정에서 소프트 웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동이다.

• 소프트 웨어 개발 프로세스에서 코드, 문서, 구성 요소등의 변경을 체계적으로 관리하고 추적하는 프로세스이다.

• 버전 관리 시스템(VCS, Version Control System)을 사용하여 이루어 진다.(Git, CVS, Subversion 등)

• 소프트웨어 소스 코드 뿐아니라 개발 환경, 빌드 구조 등 전반적인 내역에 대한 관리 체계를 정의하고 있다.

 

장점

• 여러 개발자가 동시에 작업하고 변경사항을 통합할 수 있어 협업이 용이하다.

• 변경 사항의 이력을 추적할수 있어 특정 시점으로 돌아가는 이력 추적을 할수 있다.

• 변경 사항을 안전하게 저장하고 필요할 때 이전 상태로 되돌릴 수 있다.

• 안정적인 버전 및 소프트웨어 품질을 유지하기 쉽다.

• 특정 버전을 테스트하고 배포하기 용이하며, 충돌을 최소화할 수 있다.

 

개념 및 용어

Version

소프트 웨어의 특정 시점에서의 상태를 나타낸다.

버전은 주로 숫자 또는 알파벳으로 표현되며, 변경 사항을 추적하고 특정 버전으로 이동 할 수 있다.

 

Repository

형상관리 시스템에서 변경 사항을 저장하는 곳이다.

모든 프로젝트 멤버는 이 저장소에 접근하여 변경사항을 업로드 하거나 다운로드 할 수 있다.

 

Commit

변경사항을 저장소에 기록하는 작업이다.

커밋은 변경된 파일들과 함께 간단한 설명을 포함한다.

 

Branch

저장소에서 별도의 개발 경로를 나타내는것이다.

동시에 여러 기능을 개발하거나 버그를 수정하는데 사용된다.

 

Merge

브랜치에서 개발한 변경 사항을 다른 브랜치로 통합하는 작업이다.

 

Conflict

두명이상의 개발자가 동시에 같은 부분을 수정할 때 발생하는 충돌상황으로 , 이를 해결하기 위해 개발자의 개입이 필요하다.

 


소프트웨어 개발에서 사용하는 대표적인 형상관리 도구의 종류

(VCS; Version Control System)

1. Git

분산 버전 관리 시스템으로 ,

가장 대중적으로  사용하고 있으며 코드의 변경 이력을 효과적으로 관리하고 협업하는 데 사용된다.

덜 직관적이고 배우기 어렵지만 로컬 관리와 중앙 관리가 모두 가능하여 장소에 구애받지 않고 협업을 가능하게한다.

 

2. Subversion

CVS의 단점을 보완하기위해 2000년에 만들어진 형상관리 도구로 중앙관리만을 지원하는 특징을 가지고 있다.

change set을 커밋단위로 하여 다른 사용자의 커밋과 엉키지 않고 롤백 기능을 지원한다.

처리속도가 CVS에 비해 상대적으로 빠르지만 잦은 커밋은 리비전 번호가 크게 증가할 수 있으며

개별이력을 관리할수 없는 단점을 가지고 있다.

 

3. CSV

1980년대에 만들어진 형상관리 도구로서 가장 오랫동안 사용되었으며

안정적이지만 파일관리중 롤백이 되지 않거나 아스키코드를 지원하며

유니코드는 제한적으로 지원하고 속도가 상대적으로 느린 단점을 가지고 있다.

 

출처

https://eroul-ri.tistory.com/3

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함