본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.
Section 22.4: GitHub Flow
오픈 소스 프로젝트들에서 많이 사용되는 방식이지만 꼭 오픈 소스 프로젝트에만 국한되어 사용되는 것은 아니다.
특정 위치의 (Github, Gitlab, Bitbucket 혹은 로컬 서버 등) master 브랜치에는 가장 최신의 출시 가능한 버전이 탑재되어 있다. 각각의 새로운 기능 (feature)/버그 수정/아키텍처상의 변경사항을 위해서는 개별 브랜치를 생성한다.
변경사항은 이렇게 새롭게 생성된 브랜치에 만들어지며, 관련된 논의는 pull request, 코드 리뷰 등의 형태로 이루어질 수 있다. 최종적으로 승인이 이루어지면 이 변경사항들은 master 브랜치에 merge 된다.
Scott Chacon 에 의해 정리된 전체 흐름:
- 무엇이든 master 브랜치에 존재하는 것은 배포 가능한 상태여야 한다
- 새로운 작업을 시작하려면, 해당 작업에 대한 내용을 기술하는 이름을 가진 새로운 브랜치를 master 브랜치로부터 새로 생성한다 (예: new-oauth2-scopes)
- 해당 브랜치에 대해 로컬에서 커밋을 수행하고, 주기적으로 작업된 내용을 서버의 동일한 이름의 브랜치로 push 한다
- 작업한 내용에 대해 의견이나 도움이 필요하거나, 혹은 해당 브랜치가 master 에 merge 될 준비가 완료되었다고 생각이 드는 경우에 pull request 를 생성한다
- 다른 누군가가 해당 새로운 기능에 대해 리뷰 후 최종 승인을 완료한 경우, master 에 merge 수행이 가능하다
- master 브랜치에 merge 및 push 가 완료된 경우, 해당 기능에 대한 배포가 즉시 가능해지며, 실제 즉시 배포를 수행하도록 한다
Scott Chacon 의 개인 웹사이트 personal web site 에 원본이 게시되어 있다.
GitHub Flow reference 의 허가를 받아 게재되는 이미지
[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)
반응형
'번역 > Git Notes for Professionals' 카테고리의 다른 글
23: Pull 하기 (0) | 2019.12.11 |
---|---|
22.5: Fork 기반의 작업 흐름 (Forking Workflow) (0) | 2019.12.10 |
22.3: Feature 브랜치 작업 흐름 (workflow) (0) | 2019.12.06 |
22.2: Gitflow 작업 흐름 (workflow) (0) | 2019.12.06 |
22.1: 중앙 집중식의 작업 흐름 (workflow) (0) | 2019.12.05 |