본문 바로가기
INFRA/MW

[개발]분산형 형상관리(DVCS)

by 근현대사 2023. 7. 13.
반응형

분산형 형상관리 시스템(Distributed Version Control System, DVCS)은 형상관리를 위해 개발자 개별 컴퓨터에 로컬 저장소를 만들고, 변경 이력과 파일을 분산적으로 관리하는 방식입니다. DVCS는 중앙 서버의 의존성을 줄이고 개발자들 간의 독립적인 작업과 협업을 용이하게 합니다. 

 

분산 저장소:

DVCS에서는 개발자 개별 컴퓨터에 로컬 저장소가 존재합니다. 이 로컬 저장소는 전체 프로젝트의 히스토리와 파일을 저장하며, 변경 이력과 버전 관리를 독립적으로 수행합니다.

로컬 저장소는 중앙 서버와 독립적으로 작동하므로 네트워크 연결 없이도 작업을 수행할 수 있습니다.

 

체크아웃과 커밋:

개발자는 로컬 저장소에서 파일을 체크아웃하여 수정하고 변경 사항을 추적합니다. 체크아웃은 중앙 서버의 의존성 없이 로컬 저장소에서 작업을 진행할 수 있게 합니다.

변경 사항을 커밋하면 로컬 저장소에 변경 이력이 저장됩니다. 커밋은 로컬 저장소에서 수행되며, 개발자는 커밋 메시지와 함께 변경 사항을 기록합니다.

 

브랜치와 병합:

DVCS는 브랜치 기반의 형상관리를 강력하게 지원합니다. 개발자들은 독립적인 작업을 위해 새로운 브랜치를 생성하고, 각자의 브랜치에서 작업을 진행합니다.

브랜치 간의 변경 사항을 병합하여 작업의 일관성을 유지합니다. 개발자는 다른 브랜치로의 병합 작업을 수행하거나, 변경 사항을 다른 개발자와 공유할 수 있습니다.

 

원격 저장소와 푸시/풀:

DVCS에서는 중앙 서버 대신 원격 저장소를 사용합니다. 원격 저장소는 개발자들이 변경 사항을 공유하고 백업할 수 있는 중앙화된 저장소입니다.

개발자는 변경 사항을 푸시하여 로컬 저장소의 커밋을 원격 저장소로 업로드합니다. 푸시를 통해 다른 개발자들과 변경 사항을 공유할 수 있습니다.

푸시한 변경 사항을 받기 위해서는 다른 개발자들이 푸시한 내용을 가져오는 풀 작업을 수행해야 합니다. 풀을 통해 원격 저장소의 변경 사항을 로컬 저장소로 가져옵니다.

 

 

DVCS의 장점:

개발자들이 독립적으로 작업하고 변경 사항을 추적할 수 있으며, 중앙 서버의 의존성이 없어 네트워크 연결이 불안정한 상황에서도 작업이 가능합니다.

브랜치 기반의 형상관리를 통해 동시 다발적인 작업과 실험적인 변경 사항을 관리할 수 있습니다.

로컬 저장소의 커밋 이력을 기반으로 변경 사항을 롤백하거나 특정 버전으로 쉽게 돌아갈 수 있습니다.

원격 저장소를 통해 개발자들이 변경 사항을 공유하고 협업할 수 있습니다.

 

DVCS 대표적인 예로는 Git 있으며, 다른 DVCS 도구로는 Mercurial, Bazaar 등이 있습니다. 이러한 도구들은 대규모 프로젝트부터 개인적인 작업까지 다양한 형상관리 요구사항을 충족시키는 강력한 기능과 유연성을 제공합니다.

반응형

'INFRA > MW' 카테고리의 다른 글

[MW]MCI  (0) 2023.07.17
[개발]중앙집중형 형상관리(CVCS)  (0) 2023.07.13
[오픈소스]젠킨스에 대해  (0) 2023.07.12
[JAVA] Servlet 서블릿에 대해  (0) 2023.07.06
[JAVA]JVM 메모리에  (0) 2023.06.22