CS

형상 관리란?

개발기록 2024. 8. 29. 19:45

형상관리란?


위키피디아에선 형상 관리에 대해서 이와 같이 정의 하고 있다. 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것으로, 형상 관리는 일반적인 단순 버전관리 기반의 소프트웨어 운용을 좀 더 포괄적인 학술 분야의 형태로 넓히는 근간이라고 한다.

 

역시 딱딱한 글자로 봤을땐 와닿지가 않는다. 그럼 이런 형상관리라는게 무엇이며? 왜 생겨 난 것인가에 대해서 이야기를 다뤄볼려고한다.

 

형상관리가 없던 시절....


형상 관리가 없던 시절의 우리 개발자들은 소스코드를 어떻게 관리를 했을까? 생각해보자.

분명 코드를 수정하면 수정전의 코드는 따로 어딘가 백업을 하여 관리하였을 것이다. 이유는 수정후 코드가 어떻게 문제가 발생이 되어 수정전의 코드로 돌아갈수도 있기 때문이다. 그럼 어떤식으로 백업을 하였을까? 아마 아래 그림과 같은 형상처럼 관리가 되었을 거라고 생각한다.

그렇다 백업 소스코드에 대해서 관리는 저렇게 관리 할수는 있겠지만 과연 저기 중에 어떤 파일이 A라는 기능을 추가한 코드의 파일인지 알수 있겠는가? 정답은 일일이 파일내용을 기억하지 않는 이상 직접 하나하나 파일을 열어 확인하는 수 밖에 없을것이다. 백업한 소스코드가 만약 1000개가 넘어가는 대형 프로젝트라면 얼마나 어지러운 상황일까? 그리고 만약 팀단위로 수행하는 프로그램이라면 여러 사람의 코드를 일일이 사람이 합쳐야 되는 번거러움도 있다는 점이 있다. 이러한 단점을 보안하고자 등장한것이 바로 형상 관리 이다.

 

형상관리 그래서 뭐가 있어?


형상관리가 왜 생겼고, 무엇인가에 대해서 위에서 우리가 다뤘다. 그럼 형상관리 종류에는 무엇이 있을까?

위에 질문의 답은 여러가지 형상관리가 있다. 그 종류는 아래와 같다.

 

Git, SVN, CVN, Perforce, SourceSafe 등 다양한 형상관리 도구가 있으며, 현재 많이 사용하는 도구로는 Git, SVN으로 알려져 있다.

 

정리


  • 형상관리는 소스코드 관리와 팀단위 작업에서 병합을 목적으로 사용한다.
  • 형상관리 종류로는 Git, SVN, CVN, Perforce, SourceSafe등 이 존재한다.

'CS' 카테고리의 다른 글

CI/CD? Jenkins?  (5) 2024.09.01
Git Hub Organization 계정 만들기  (0) 2024.08.30
다형성  (0) 2024.06.28
클래스 다이어그램  (0) 2024.06.28
객체 vs 클래스  (0) 2024.06.21