브랜치

  • master
    • 언제나 운영 가능한 상태의 브랜치
    • 버전 태그를 붙여 준다.
  • hotfixes
    • master 브랜치에서 급하게 고쳐야 할 오류가 있을 때 사용하는 브랜치
    • master 브랜치로부터 가져온다.
    • 다음 버전의 태그를 붙여준다. (master v1.0의 오류를 수정하고 v1.1로 출시하려면 v1.1로 태그를 붙인다.)
    • 오류 잡아낸 후에 master, develop 브랜치에 머지 되어야 한다.
    • 브랜치 삭제 가능
  • release
    • 출시를 위한 브랜치
    • develop 브랜치에서 개발이 끝나고 전체 테스트 및 버그를 잡아내는 브랜치
    • develop 브랜치로부터 가져온다.
    • 출시 버전의 태그를 붙여 준다.
    • 모든 테스트 완료 후에 master, develop 브랜치에 머지 되어야 한다.
    • 브랜치 삭제 가능
  • develop
    • 개발을 위한 브랜치
    • 각각의 feature 브랜치를 합친 브랜치
  • feature
    • 기능 단위의 개발을 위한 브랜치
    • feature/login, feature/signup ...
    • 브랜치 삭제 가능

 

Git flow 흐름 예시

ex) 로그인, 회원가입 기능이 있는 서비스 개발

  1. master 브랜치에서 git checkout -b develop
  2. develop 브랜치에서 git branch feature/login
  3. develop 브랜치에서 git branch feature/sign-up
  4. feature/login, feature/sign-up에서 각자 개발
  5. 개발 완료 후 feature/login, feature/sign-up 브랜치를 develop 브랜치로 머지
  6. 출시 준비를 위해 develop 브랜치에서 git checkout -b release/v1.0
  7. 출시 테스트 중 버그가 있어서 수정
  8. 모든 수정 완료 후 develop, master 브랜치에 merge
  9. ~ 서비스 운영 ~
  10. 운영 중 치명적인 오류 발생
  11. master 브랜치에서 git checkout -b hotfixes/v1.1
  12. 오류 수정
  13. 오류 수정 완료 후 develop, master 브랜치에 merge

 

+ Recent posts