Git 중앙집중형 워크플로우(Centralized Workflow)
Git 중앙집중형 워크플로우는 많은 사람들이 SVN(Subversion) 같은 중앙집중형 버전관리시스템(VCS)에 익숙하기 때문에, 이런 방식을 그대로 이용하는 경우를 말합니다. 이 워크플로우는 Git을 처음 사용하는 팀에게 가장 익숙하고 쉽게 접근할 수 있으며, 기존의 VCS 환경에서 전환할 때에도 적합합니다.
이 방식에서는 하나의 중앙 원격 저장소가 존재하고, 개발자들은 이 저장소에 직접적으로 변경 사항을 푸시하게 됩니다. 일반적으로 master(main) 브랜치 하나만을 유지하며, 모든 변경사항을 이 브랜치에 푸시합니다.
1. 개발자는 원격 저장소를 클론하여 로컬 작업 복사본을 생성합니다.
2. 개발자는 로컬에서 작업 후 변경 사항을 커밋합니다.
3. 원격 저장소로 푸시하여 변경 사항을 공유합니다.
이렇게 하면 master 브랜치는 항상 안정적인 상태를 유지할 수 있으며, 개발자들은 각자의 작업을 자신의 브랜치에서 자유롭게 진행할 수 있습니다. 또한, 코드 리뷰와 테스트 과정을 브랜치에서 진행할 수 있어 코드의 품질을 유지하는데 도움이 됩니다.
중앙집중형 워크플로우와 Feature Branch Workflow의 비교
중앙집중형 워크플로우에서는 모든 개발자가 master 브랜치에서 작업을 진행하기 때문에 코드 충돌이 발생할 확률이 높고, master 브랜치가 항상 안정적인 상태를 유지하긴 어렵습니다.
반면, Feature Branch Workflow에서는 각 개발자가 별도의 브랜치에서 작업을 진행하므로 코드 충돌이 적게 발생하며, 각 브랜치에서 개발 및 테스트를 진행한 후에 master 브랜치로 병합하는 방식이기 때문에 master 브랜치가 항상 안정적인 상태를 유지할 수 있습니다.
따라서, 코드의 안정성과 품질을 유지하고 싶다면 Feature Branch Workflow 방식을 사용하는 것이 좋습니다.
Master 브랜치의 무결성
Git에서 master 브랜치는 프로젝트의 "기본" 브랜치로 여겨지며, 대부분의 워크플로우에서는 프로젝트의 안정적인 버전이 유지되는 브랜치입니다.
master 브랜치의 "무결성"은 다음과 같은 의미를 갖습니다:
- 안정성: master 브랜치는 프로젝트의 안정된 버전을 유지합니다. 즉, master 브랜치의 코드는 항상 "배포 가능한" 상태여야 합니다.
- 신뢰성: 모든 새로운 기능이나 버그 수정은 별도의 브랜치에서 작업된 후 충분히 테스트하고 검토된 후에만 master 브랜치로 병합되어야 합니다. 이를 통해 master 브랜치의 코드가 항상 신뢰할 수 있는 상태를 유지합니다.
- 일관성: master 브랜치는 프로젝트의 "진실의 소스"로 간주되어야 합니다. 다시 말해, 팀의 모든 구성원은 master 브랜치가 최신이며, 가장 완벽한 상태의 코드를 반영하고 있다고 가정해야 합니다.
이러한 무결성을 유지하기 위해, master 브랜치로 직접 커밋하는 것을 피하고, 대신 별도의 브랜치에서 작업한 후에 코드 리뷰, 테스트 등의 과정을 거쳐 master 브랜치로 병합하는 방식을 사용하는 것이 일반적입니다.
'Git' 카테고리의 다른 글
[Git] 깃 다운로드, 깃 설치하기 (0) | 2025.03.25 |
---|