이번 학기부터 <캡스톤디자인과창업프로젝트A> 과목을 수강하면서, 1년 동안의 졸업프로젝트가 시작되었다 😲
3명의 팀원이 하나의 프로젝트를 완성시켜야 하기 때문에, 브랜치 전략이 필요하다.
그래서 이 글을 통해 우리 팀이 사용할 브랜치 전략인 git-flow 전략에 대해 정리해보려 한다.
브랜치 전략이 왜 필요할까?
1. 여러 명의 개발자가 하나의 저장소를 사용하는 환경에서, 브랜치 전략을 활용하면 저장소를 효과적으로 활용할 수 있다.
2. 브랜치 전략을 활용해 브랜치 생성 규칙을 만들게 되면, 유연한 협업이 가능하다.
git-flow 전략에서 사용하는 기본 브랜치는 아래 5가지로 나눌 수 있다.
1️⃣ feature 2️⃣ develop 3️⃣ release 4️⃣ hotfix 5️⃣ master(main)
(나열 순서 기준) 왼쪽에 위치한 브랜치에서 이루어진 커밋이, 오른쪽에 위치한 브랜치로 병합(merge)되도록 구성된다.
ex. feature 브랜치에서 작업을 진행하고 커밋하면, 이 작업 내용이 추후 develop 브랜치에 병합됨
각 브랜치의 역할은 다음과 같다.
feature: 기능 개발을 위한 브랜치
develop: 다음 release에 대비하기 위한 브랜치
release: 새로운 버전을 release 하기 위한 브랜치
hotfix: master 브랜치에서 발생하는 버그에 대응하기 위한 브랜치
main: 실제 제품으로 출시하기 위한 브랜치
release 브랜치 활용 방식에 대해 더 구체적으로 설명하자면 아래와 같다.
1. develop 브랜치의 내용을 release 브랜치로 옮기고
2. release 브랜치에서 QA를 진행한 이후에, 이를 main 브랜치로 병합하기
위 5가지 브랜치들 중에서, main 브랜치와 develop 브랜치는 항상 유지되지만
feature 브랜치, release 브랜치, hotfix 브랜치는 상위 브랜치로의 병합 이후에 삭제된다.
✔️ main 브랜치는 항상 배포 가능한 상태로 유지되어야 한다.
✔️ feature 브랜치는 개발자의 local repository로만 존재하고, origin에는 push하지 않는 것이 일반적이다.
✔️ 하위 브랜치는 항상 상위 브랜치를 기준으로 최신화 되어야 한다.
[GIT] 📈 깃 브랜치 전략 정리 - Github Flow / Git Flow
GIT 브랜치 전략 브랜치 전략이란 여러 개발자가 하나의 저장소를 사용하는 환경에서 저장소를 효과적으로 활용하기 위한 work-flow다. 브랜치의 생성, 삭제, 병합 등 git의 유연한 구조를 활용해서,
inpa.tistory.com
우린 Git-flow를 사용하고 있어요 | 우아한형제들 기술블로그
안녕하세요. 우아한형제들 배민프론트개발팀에서 안드로이드 앱 개발을 하고 있는 나동호입니다. 오늘은 저희 안드로이드 파트에서 사용하고 있는 Git 브랜치 전략을 소개하려고 합니다. '배달
techblog.woowahan.com