AngelPlayer`s Diary

(욕이란건 말이다.. ) 늘 새로운 지식을 전수해 주시는 스승님 감사합니다!

 

 

 

 

Git Flow란?

Git으로 협업 시 사용하는 전략을 의미합니다.

 

Git Flow는 별도의 기능(라이브러리, 프레임워크 등)이 아니고, 협업을 하는 개발자간의 약속을 정의한 방법론이라고 보시면 편할 것 같습니다.

 

 

 

https://techblog.woowahan.com/2553/

 

우린 Git-flow를 사용하고 있어요 | 우아한형제들 기술블로그

{{item.name}} 안녕하세요. 우아한형제들 배민프론트개발팀에서 안드로이드 앱 개발을 하고 있는 나동호입니다. 오늘은 저희 안드로이드 파트에서 사용하고 있는 Git 브랜치 전략을 소개하려고 합

techblog.woowahan.com

Git Flow는 우아한 형제들의 Git Flow 사용 이유에서 볼 수 있듯이, 

1) 작업을 분류하고,

2) 우선순위에 따라서 작업을 분배 후,

3) 병렬적으로 개발하고,

4) 배포 주기에 포함시켜 출시

의 프로세스를 편하게 관리하고 확인할 수 있게 해주는 역할을 합니다.

 

 

 

간단히 정리해보자면 Git Flow는 협업 시 개발해야 할 작업별로 별도의 branch를 생성하고, 개발 완료 후 merge를 통해 branch를 통합 후 배포하는 방식으로 진행됩니다.

 

 

 

 

Git Flow 전략

Git branch는 크게 영속적인 main branch(메인 브랜치)와, 일정 기간 유지되는 sub branch(보조 브랜치)로 나뉩니다.

 

메인 브렌치에는 master, develop가 해당하며,

보조 브랜치는 feature, release, hotfix가 해당됩니다.

 

 

branch 종류로는

master : 제품으로 출시될 수 있는 브랜치, 기준이되는 브랜치
develop : 다음 출시 버전을 개발하는 브랜치, 일반적으로 merge 대상(default) 브랜치로 사용
feature : 각 작업(기능)을 개발하는 브랜치
release : 이번 출시 버전을 준비하는 브랜치
hotfix : 출시 버전에서 발생한 버그를 긴급히 수정 하는 브랜치

등이 있습니다.

 

 

 

협의사항

Git Flow의 사용 규칙은 프로그래밍 언어들처럼 규칙이 있는 것은 아닙니다.

 

따라서 issue, commit 내역 등의 작성법은 사용하는 팀에 따라서 서로 다를 수 있는데요.

 

이러한 작성법은 협업하는 개발자 간의 협의에 따라서 결정하면 됩니다.

 

 

작성법과 협의해야할 내용은 크게

branch명 작성법

commit 내역 작성법

등이 있습니다.

 

 

 

branch명 작성법

앞선 branch 종류 중, 메인 브랜치는 해당 명명(master, develop)을 그대로 사용하시면 되고, 보조 브랜치 (feature, release, hotfix)는 각각 이슈 번호와 설명 등을 적절히 작성해주시면 됩니다.

 

이슈에 따라서 branch를 작성하는 경우 이슈 번호를 함께 작성한다면 git 명령어에 따라서 자동으로 issue를 close 하는 기능도 가능하니 적절한 명명법을 사용하시면 좋습니다.

 

ex)feature/브랜치명
feature/기능설명 #이슈번호

 

feature/login
feature/logout #1

 

 

commit 메시지 작성법

coomit 메시지는 앞선 작업에 따라서 서로 다른 Prefix를 작성하는 것이 좋습니다.

 

Feat : 새로운 기능 commit 시
Fix : 버그 수정 관련 commit 시
Build : 빌드 관련 commit 시
Chore : 기타 수정 commit 시
Ci : ci 관련 설정 수정 commit 시
Docs : 문서 수정 commit 시
Style : 코드 스타일 혹은 포맷 commit 시
Refactor : 코드 리팩토링commit 시
Test : 테스트 코드 수정 commit 시

 

또한 git 내부의 issue나 jira의 ticket 등을 사용하는 경우에는 해당 issue 번호를 함께 작성하시면 트레킹하기 유용하기 때문에 명명법에 포함하는 것이 좋습니다.

 

ex)

기능: [포지션] 설명 이슈아이디

feat: [FE] 로그인 페이지 생성 S09P12B301-67

 

 

 

https://angelplayer.tistory.com/477

 

[Git] GitLab(Github) Git Flow 프로젝트 적용 예제

Setting 환경 GitLab 협업 인원 1명 초대 (권한 Owner) 1. Devleop 생성하기 먼저 develop branch를 생성해줍니다. setting - Repository - Branch defaults - Default branch를 develop로 바꿔줍니다. 2. branch 만들기 먼저 git clone

angelplayer.tistory.com

Git Flow 적용 예제는 위 포스트를 참고해주세요.

 

 

 

Reference

https://hellowoori.tistory.com/56

 

 

 

 

공유하기

facebook twitter kakaoTalk kakaostory naver band