GitNotes.22-1.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 22.1: 중앙 집중식의 작업 흐름 (workflow)

이 기본적인 작업 흐름 (workflow) 모델에서는, 모든 진행중인 개발 작업이 master 브랜치에서 이루어진다. 이 브랜치는 빠르게 업데이트 될 것이므로, 프로젝트 참여자들은 개발을 진행하기 전에 최신 변경내역을 pull 해올 수 있도록 각별히 주의를 기울여야 한다. 모든 참여자들은 이 저장소에 접근 권한을 가지고 있으며 master 브랜치에 직접 변경사항을 커밋할 수 있다.

이 모델을 시각적으로 표현하면 다음과 같다:

centralized

이러한 방식은 Subversion 이나 CVS 와 같은 구형 시스템들이 만들어졌던 고전적인 버전관리 패러다임의 전형으로 볼 수 있다.

이러한 방식으로 작동하는 소프트웨어를 중앙 집중식 버전 관리 시스템 (Centralized Version Control Systems), 혹은 CVCS 라고 부른다. 물론 Git 또한 이러한 방식으로 이용할 수 있으나, 모든 pull 작업 전에 merge 를 수행해야 하는 등의 현저한 단점들이 존재한다. 프로젝트 팀이 이러한 방식으로 작업을 수행할 수도 있겠지만, 끊임없이 발생하는 merge conflict 해결작업에 결국 귀중한 시간을 많이 빼앗기는 결과를 초래하게 될 것이다.

이러한 이유로 Linus Torvalds 가 git 을 Mercurial 과 유사하게 CVCS 가 아닌 DVCS, 혹은 분산형 버전 관리 시스템(Distributed Version Control System) 의 형태로 제작하게 된 것이다. 이러한 새로운 작업 방식은 장점은 이 챕터의 다른 예제에 소개된 바와 같은 유연성이라고 할 수 있을 것이다.

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형

+ Recent posts