본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.
Section 22.1: 중앙 집중식의 작업 흐름 (workflow)
이 기본적인 작업 흐름 (workflow) 모델에서는, 모든 진행중인 개발 작업이 master 브랜치에서 이루어진다. 이 브랜치는 빠르게 업데이트 될 것이므로, 프로젝트 참여자들은 개발을 진행하기 전에 최신 변경내역을 pull 해올 수 있도록 각별히 주의를 기울여야 한다. 모든 참여자들은 이 저장소에 접근 권한을 가지고 있으며 master 브랜치에 직접 변경사항을 커밋할 수 있다.
이 모델을 시각적으로 표현하면 다음과 같다:
이러한 방식은 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)
'번역 > Git Notes for Professionals' 카테고리의 다른 글
22.3: Feature 브랜치 작업 흐름 (workflow) (0) | 2019.12.06 |
---|---|
22.2: Gitflow 작업 흐름 (workflow) (0) | 2019.12.06 |
21.1: shortlog 에서 커밋 갯수를 보여줄 때 기여자들을 별칭(alias)을 통해 병합하기 (0) | 2019.12.04 |
20.4: 줄바꿈 (line ending) 표준화 기능 비활성화하기 (0) | 2019.12.04 |
20.3: .gitattribute 템플릿 이용하기 (0) | 2019.12.04 |