웹사이트를 배포하는 프로젝트에 PM으로 참여하고 있다.
리드미 파일에서 백엔드 파트가 Git Flow를 적어줬는데,
개발에 문외한 나는 아무것도 모름..
하지만 이해하고 싶어서 다른 블로그 글 다 뒤져가면서 공부했다
Git에서 버전관리를 하거나 개발을 진행할 때 여러 명이서 한꺼번에 같은 코드를 수정하면 엉키고 꼬이니까, 각자의 Branch를 나눠서 각자 코딩하는 방식을 말한다.
Branch에는 총 5가지가 있는데, Master, Develop Branch가 메인 브랜치이고 Feature, Release, Hotflix는 보조 브랜치에 해당한다.
1. Master Branch: 안정화된 버전의 코드(버전태그 추가), 최종 코드
2. Develop Branch: 개발 중인 코드, 개발이 완료되면 Master Branch에 merge한다.
3. Feature Branch: 개발할 것이 많은 경우, Feature Branch를 따로 생성하여 작업한다.
4. Release Branch: 서비스를 출시하기 전에 QA를 진행, 버그 발견하면 바로바로 수정
5. Hotflix Branch: Master Branch에서 버그 발생하면 바로 Hotflix Branch로 떼어와서 수정, 배포한 후 관리하는 branch라고 생각하면 된다.
Github Flow는 위에서 언급한 5가지 branch보다 단순하고, feature, develop branch가 없다.
Master Branch에서 항상 새로운 branch를 시작하며, branch를 여러 개 나누는 게 아니라 commit message로 구분한다.
즉, commit message를 잘 적어둬야 나중에 봤을 때 "이 때 왜 커밋했었는지" 잘 기억할 수 있다는 점!
Github Flow 잘 정리해둔 블로그 링크
Branch를 이용해서 작업을 분리하고, 분리된 branch 안에서 작업해야 다른 개발자와 겹치는 불상사를 방지할 수 있기 때문!
어느 이름의 Branch를 이용할지는 프로젝트, 회사마다 다르지만 같이 일하는 사람끼리 정한 룰은 꼭 지켜야 한다.
우리 팀 깃플로우는 다음과 같다. Main, Develop, Feat, Fix, Hotflix 5가지가 있는 걸 보니 깃허브플로우가 아닌 깃플로우를 이용하나보다!
당근마켓 깃플로우 링크
배민 깃플로우 링크
위의 링크로 들어가면 당근마켓, 배민 기술블로그에서 설명하고 있는 각 회사의 깃플로우를 알아볼 수 있다.