2022. 7. 23. 01:44ㆍGIT
버전
프로그램을 사용하면서 프로그램 이름 뒤에 숫자가 써 있는 것을 볼 수 있다.
이는 버전을 의미하는데 버전이란 이전의 것과 다른 또는 약간 비슷한 것이다.
버전 관리의 필요성
프로그램 코드는 한 번에 모두 완성되지 않는다.
일반적으로 프로그램 코드는 한 단계씩 살을 붙여가면서 기능을 추가해 나간다.
개발 도중에 많은 기능이 추가되고 코드가 변경된다.
변경되는 동안 코드들은 잠시 불안정한 상태가 되고 이후
정상적인 테스트와 동작을 확인하고 나면 다시 안정된 상태의 코드가 된다.
개발이나 테스트 하는 과정에서 불안정한 코드가 있다면 경우에 따라 작업하기 어려울 수도 있다.
이 때는 이전 상태로 돌아가 다시 시작할 수 있는 코드의 복귀 지점이 필요하다.
코드 복귀 지점은 반드시 안정된 코드 상태를 기준으로 설정해야 한다.
복귀 지점을 기록해두면 좀 더 안정적으로 개발할 수 있다.
버전 관리 시스템 (Version Control System)
문서 작업을 할 때 일반적으로 한 파일에 계속 덮어 쓰면서 저장을 한다.
이 또한 버전을 기록하는 것이지만 이전 상태로 돌아가지 못한다.
다른 이름으로 저장하기로 버전 관리를 할 수 있지만 통일성 없이 파일명을 정한다면 버전을 알아보기 어렵다.
파일의 버전을 좀 더 편리하고 정확하게 관리할 수 있도록 만든 소프트웨어가 있다.
VCS
코드와 컨텐츠의 변화를 관리하고 추적하는 소프트웨어
VCS에서 버전 파일들을 관리하고 저장하는 공간을 저장소(repository)라고 한다.
VCS에서 크게 집중형과 분산형 두 종류로 구분 할 수 있다.
집중형
집중형 시스템은 말 그대로 모든 소스 코드가 한곳에 집중되어 있는 형태이다.
하나의 메인 중앙 서버에서 개발 구성원의 모든 소스 코드를 통합적으로 관리한다. (클라이언트-서버 모델)
장점
저장소 하나를 중심으로 관리하기 때문에 시스템 운영에 수월하다.
단점
중앙 저장 공간인 서버에 문제가 생기면 개발 불가
동시에 여러 개발자가 접근하면 충돌이 발생하기에 코드 수정을 안정적으로 할 수 있게 잠금 모델을 적용한다.
파일을 변경하려면 개발자들은 순서대로 대기하고 있어야 한다.
분산형
저장소가 여러 개가 있어 여러 저장소에서 각 버전별 소스를 개별 보관한다.
분산 저장소는 P2P 방식으로 공유하며, 각 개발자에게 공유 가능한 저장소 사본을 제공한다.
서버는 각 저장소 자료를 동기화하고 중개하는 역할만 수행한다.
따라서 메인 서버에 문제가 생기더라도 지속적으로 개발할 수 있다.
현재 가장 많이 사용하는 분산형 VCS → GIT
'GIT' 카테고리의 다른 글
[GIT] 환경 설정 (0) | 2022.07.25 |
---|---|
[GIT] 깃 실행해보기 (0) | 2022.07.25 |
[GIT] 소스트리 설치 (0) | 2022.07.24 |
[GIT] 깃 설치 (0) | 2022.07.24 |
[GIT] 깃 (0) | 2022.07.23 |