Fork를 이용한 Git Flow 경험해보자 (2)

임근수임근수
2 min read

해당 포스트는 지난 initialize 이후 feature / release / hotfix 작업하는 방법을 기록해보고자 합니다.

지난번 설명과 같이 각 feature / release / hotfix 프로세스는 아래와 같습니다.

  • feature -> develop branch에서 시작하여 develop branch에 머지후 종료됩니다.

  • release -> develop branch에서 시작하여 develop, main(tag 포함) branch에 머지후 종료됩니다.

  • hotfix -> main branch에서 시작하여 develop, main(tag 포함) branch에 머지후 종료됩니다.

feature

feature branch는 신규 기능에 대한 기능을 개발 혹은 버그 수정이 필요할때마다 develop 브런치에서 부터 분기합니다. 작업이 완료후 다시 develop branch에 병합(merge)됩니다. 병합전 사전 코드 리뷰를 받을수 있고, 병합이 완료된 후에는 다른 개발자들과 내용을 공유합니다.

1) repository - gitflow - start feature 메뉴를 실행합니다. initialize 시 prefix 설정된 이름 하위에 생성됩니다. (그림에서는 feat)

2) 개발 진행 : 해당 feature 에서 개발할 내용을 개발하고 commit & push 진행합니다. (origin 에 따로 관리하실 내용이 없으면 push 는 진행하지 않으셔도 됩니다.)

3) commit & push 등 작업이 완료되면 종료 처리를 진행합니다.

4) develop (local repository) 머지된 내용을 최종 적으로 확인합니다.

여기서 !! 만약 Pull Request 로 코드 리뷰 & 공유 시에는 먼저 PR 진행 후 종료진행해 주세요. feature / release / main 모두 동일합니다. (DeleteBranches 삭제하지는 마세요)

release

상용 제품 버전을 출시를 준비하는 브랜치 입니다. 배포를 위한 전용 브랜치로 develop branch 에서 주로 분기합니다. 테스트 과정에서 오류나 버그 및 변경사항을 origin release branch로 push를 진행하고 최종적으로 출시 전 mian branch로 병합(merge) 합니다. 또한 develop branch에도 병합과정이 있는데 이는 release branch 생성후 오류나 버그 및 변경사항들이 병합니됩니다.

1) repository - gitflow - start release 메뉴를 실행합니다

2) release branch에서 Test 및 수정할내용이 있으면 수정합니다.

3) commit & push 등 작업이 완료되면 종료 처리를 진행합니다.

4) 최종적으로 develop / main 브런치에 머지됨을 확인 합니다.

  1. hotfix

    배포된 버전에서 긴급하게 수정후 재출시 할 필요가 있는 경우 hotfix branch작업을 진행합니다. 이는 main branch에서 분기되며 관련 내용 수정후 main branch에 다시 병합(merge) 하여 재출시 합니다. 여기서 변경사항은 다시 develop branch 에도 병합되어야 합니다.

    1) repository - gitflow - start hitfix 메뉴를 실행합니다

    2) hotfix branch에서 긴급한 오류를 작업을 개발 진행합니다.

    3) commit & push 등 작업이 완료되면 종료 처리를 진행합니다.

    4) 최종적으로 develop / main 브런치에 머지됨을 확인 합니다.

이상으로 간단히 fork를 이용한 git flow 전략에 대해 간단히 설명해보았습니다. 실제 업무에서 쓰일수 있을지는 잘 모르겠지만 fork의 gitflow 기능은 매우 간편하고 쓰기 쉬운건 맞는것 같습니다.

0
Subscribe to my newsletter

Read articles from 임근수 directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

임근수
임근수