
프로그래밍에서의 버전의 의미는 기능 추가,버그 수정 등으로 인한 유의미한 변화의 기록을 말한다.
버전의 예시로는 Os(운영체제)의 버전,휴대폰 앱의 버전 등이 있다.
따라서 버전 관리를 하게 된다면 2.과 같은 장점이 있다.
발생하는 문제점을 예로 들어보자면 우리가 프로젝트 폴더를 만들었고 이것을 버전관리 시스템을 이용하지 않고 로컬에서 여러 파일을 저장한다면 어떤 파일이 최신 파일인지 알 수 없는 문제점이 발생하게 된다.
또다른 문제점들은 어떤것이 있을까?
이러한 문제점들이 있어 버전 관리 시스템이 등장하게 되었다.
우리가 자주 사용하는 git이 바로 버전 관리 시스템 중 하나이다.
왜 Git이 다른 버전 관리 시스템보다 더 많이 쓰일까?
버전관리 시스템은 버전을 통합적으로 관리해주고 이전버전으로 돌아갈 수 있게 해준다.
따라서 협업에서 필수로 필요하다고 할 수 있다.
git 이전에도 버전 관리 시스템이 있었지만,이 버전 관리 시스템은 중앙 집중식 버전 관리 시스템이였기때문에 대규모 프로젝트에서는 한계가 있었다. 그 이유를 알아보자
중앙 집중식 버전 관리 시스템은 모든 파일을 중앙 서버가 관리하고, 사용자는 중앙 서버에 접속해서 파일을 수정하고 저장하는 버전 관리 시스템이다.
이 버전 관리 시스템은 여러가지 문제점을 가지고 있다.
사실 Git은 최초로 만들어진 분산형 버전 관리 시스템은 아니다.
Git을 사람들이 많이 쓰게 된 이유는 다음과 같다.
분산형 버전 관리 시스템이란 모든 사용자가 파일 전체의 복사본을 가지고 있으며, 독립적으로 작업하여 변경 내용을 서버에 공유하는 형식의 시스템이다.
대표적인 예시로 앞서 말한 Git이 있고, 위 특징 덕분에 중앙 집중식보다 대규모 프로젝트에 적합하다.
이러한 특징들 때문에 Git을 많이 쓰게 되었다.