2023-06-20 20:57:27

보통 프로젝트에서 신규 기능을 추가할 때는 feature 브랜치를 따서 거기서 작업을 한 후에 master/main, develop 브랜치 등에 merge를 합니다.

 

오늘은 feature 브랜치의 생명 주기(life cycle)에 대해 정리해보도록 하겠습니다. 

 

feature 브랜치 생명 주기

1. feature 브랜치 생성

feature 브랜치를 만들때 브랜치 이름을 다양한 방식으로 만들 수 있겠지만, 저는 dolzi 님의 의견을 따라 "feature/기능"과 같이 명명하고 있습니다.  

 

브랜치 생성: git branch feature/기능

 

ex) git branch feature/login

 

2. feature 브랜치에서 기능 개발

feature 브랜치로 이동하여 열심히 개발을 합니다. 

 

브랜치 변경: git switch feature/기능

 

3. Pull Request (PR)

리뷰어(Reviewer) 및 PR작업 담당자(Assignee)를 선택하여 PR을 진행합니다.

 

4. review 

리뷰어는 변경된 코드를 확인한 후 1) 코멘트를 남기거나 2) 코드 수정을 요청(request changes)하거나 3) 승인(approval)을 해줍니다.

 

코드 수정이 요청되면 PR을 올린 사람은 코드를 수정한 후에 다시 커밋한 후 push 합니다. 그러면 그 변경된 이력까지 현재 PR에서 다뤄집니다. 

 

5. merge

승인이 되었으면 Assignee가 merge 합니다.

 

6. feature 브랜치 삭제

로컬 및 원격에 생성된 feature 브랜치를 삭제합니다. 

 

로컬 feature 브랜치 삭제: git branch -d feature/기능
원격 feature 브랜치 삭제: git push origin --delete feature/기능

 

feature 브랜치께서 사명을 다하고 생을 마감하셨습니다.