git-3

연성·2021년 9월 30일
0

git

목록 보기
4/6
post-thumbnail

git-3

참고 자료

git flow

  • git flow는 git을 위한 브랜치 모델이다.
  • 여러 브랜치로 나누어 개발을 진행한다.
    • master, hot fix, released, develop, feature

How It Works

  1. feature branches

    • 개발자가 각 기능을 실제로 개발하는 브랜치이다.
    • develop branch에서 따와서 시작한다.
      develop branch는 master branch 혹은 released branch에서 따온다.
    • 각 feature branch에서 개발을 완료하고 release 할 준비를 완료하면 develop branch에 다시 merge한다.
      git flow를 이용하면 release 준비가 끝나 merge된 feature branch는 자동으로 삭제된다. 편하다!
  2. develop branch

    • master 혹은 released branch를 따와 만든 branch이다.
    • feature branches에서 개발이 완료된 소스들이 병합된다.
  3. release branch

    • 프로젝트를 release하는 브랜치이다.
    • develop branch를 따와서 만든다.
    • release branch는 테스트 환경에 deploy되어 테스트 된다.
    • 문제가 있을 경우 release branch에서 즉시 수정한다.
    • 사용자에게 출시할 수 있을 때까지 해당 작업은 반복한다.
    • 출시할 준비가 완료되면 release branch는 master와 develop branch 모두로 병합된다.
      released branch에서 수정한 사항을 merge
  4. master branch

    • master branch는 오직 release가 완료된 코드만 추적한다.
    • master branch로 오는 commit들은 release branches 와 hotix branches다.
  5. hotfix branches

    • 긴급한 버그를 수정할 때 사용하는 branch다.
    • master branch에서 바로 따와서 사용한다.
    • 버그를 수정한 후에는 master branch와 develop branch에 merge한다.

git flow 사용법

설치 링크 우선 설치해야 한다.

  1. 초기화
git flow init
  • git-flow를 초기화 한다.
  • 해당 명령어를 입력하면 branch naming convention을 정할 수 있는데 기본값을 사용할 것을 권장한다.
  1. 새로운 기능 개발
git flow feature start MYFEATURE
  • 새로운 기능을 개발할 브랜치를 만들어준다.
  • 해당 명령어를 입력하면 feature/MYFEATURE 브랜치가 생성되고 자동으로 현재 브랜치가 된다. 편하다!
  1. 기능 개발 완료
git flow feature finish MYFEATURE
  • 기능 개발을 마치면 다시 develop 브랜치에 머지한다.
  • 해당 명령어를 입력하면 3가지 작업이 일어난다.
    • develop 브랜치로 머지
    • 현재 브랜치를 devleop 브랜치로 변경
    • feature/MYFEATRUE 브랜치 삭제
  1. release
git flow release start RELEASE
  • 해당 명령어를 실행하면 두 가지 작업이 일어난다.
    • relese branch 생성
    • 현재 branch를 release branch로 변경
  • 테스트와 수정 작업을 반복한다.
git flow release finish RELEASE
  • 해당 명령어를 실행하면 release note와 tag를 작성할 수 있는 에디터가 실행된다.
  • 작성을 마치면 3가지 작업이 일어난다.
    • release branch를 master(main) branch와 develop branch에 병합
    • 현재 branch를 develop branch로 변경
    • release branch 제거
git push origin --tags
  • 태그는 따로 푸시하지 않으면 적용되지 않는다.

명령어 정리

$ git flow init
$ git flow feature start MYFEATURE
$ git flow feature finish MYFEATURE
$ git flow release start RELEASE
$ git flow release finish RELEASE
$ git push origin --tags




0개의 댓글