프로그래밍/기타

[기타/Git] 버전 관리 시스템(VCS)

Rolen 2025. 1. 28. 13:00

버전 관리 시스템 ( VCS : Version Control System

버전 관리 시스템이란?

버전 관리 시스템은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다.


 

버전 관리 시스템의 사용에 대하여

밈으로도 많이 유명한 디자이너들의 파일명을 예시로 보자.

design_최종 / design_진짜최종 / design_최종_최종 / design_최종_final
이 처럼 내용을 수정하고 때로는 다시 전으로 돌아가야 하는 등 여러 상황이 있는데

이전의 파일에 덮어 씌워지거나 무엇이 이전의 파일인지 모르거나 마지막 파일이 무엇인지 알기 힘든 상황이 올 수 있다.

 

이 때, VCS를 사용하면 각 파일을

 

이전 상태로 되돌릴 수 있고,

프로젝트를 통째로 이전 상태로 되돌릴 수 있고,

시간에 따라 수정 내용을 비교해 볼 수 있고,

누가 문제를 일으켰는지도 추적할 수 있고,

누가 언제 만들어낸 이슈인지도 알 수 있다.

VCS를 사용하면 파일을 잃어버리거나 잘못 고쳤을 때도 쉽게 복구할 수 있다.

그리고 이런 모든 장점을 큰 노력 없이 이용할 수 있다.

 

버전 관리 시스템에는 세 가지 방식이 있다.


 

1. 로컬 버전 관리

 

로컬 환경에서 데이터베이스를 사용하여 파일의 변경 정보를 기록하여 관리하는 방법이다.

 

각자의 로컬에서 기록, 관리하는 방식으로 협업의 어려움이 있다.


 

2. 중앙집중식 버전 관리

 

파일을 관리하는 서버가 별도로 있고 클라이언트가 중앙 서버에서 파일을 받아서 사용한다.(Checkout)

 

중앙 서버가 다운되면 아무도 협업을 할 수 없고 버전 관리가 불가능 해지며

온라인이 아닌 경우 작업을 할 수 없다.


 

3. 분산 버전 관리 시스템

모든 클라이언트는 저장소를 복제하여 가지고 있는 방식으로

서버 장애, 오프라인 상태의 상황에도 작업을 할 수 있고

아무 클라이언트를 통하여 서버 복원에도 용이하다.

 

이를 바탕으로 Linux 커널은 BitKeeper를 사용하였으나

유료화로 인하여 Git이 등장하였다. 그것도 2주만에.. (리누스 토르발스....👍)

 


https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-%EB%B2%84%EC%A0%84-%EA%B4%80%EB%A6%AC%EB%9E%80%3F

 

Git - 버전 관리란?

1.1 시작하기 - 버전 관리란? 이 장에서 설명하는 것은 Git을 처음 접하는 사람에게 필요한 내용이다. 먼저 버전 관리 도구에 대한 이해와 Git을 설치하는 방법을 설명하고 마지막으로 Git 서버를 설

git-scm.com

 

https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-%EC%A7%A7%EA%B2%8C-%EB%B3%B4%EB%8A%94-Git%EC%9D%98-%EC%97%AD%EC%82%AC

 

Git - 짧게 보는 Git의 역사

2005년에 커뮤니티가 만드는 Linux 커널과 이익을 추구하는 회사가 개발한 BitKeeper의 관계는 틀어졌다. BitKeeper의 무료 사용이 재고된 것이다. 이 사건은 Linux 개발 커뮤니티(특히 Linux 창시자 Linus Tor

git-scm.com

 

728x90