Sourcetree의 Git Flow를 사용한 개발 흐름

Git 운용으로 Git Flow를 채용하기로 했기 때문에
Sourcetree의 Git Flow를 사용한 개발 흐름을 정리했습니다.

실현하고 싶은 것


  • Git에 익숙하지 않은 멤버라도 무리없이 운용 가능한 것
  • Git, Git Flow 작업은 Sourcetree에서 모두 실행
  • 그러나 Git 및 Git Flow의 개념은 이해한다고 가정합니다

  • Github에서 코드 리뷰 수행

  • 기능에서 개발로 Pull Request 검토
  • 코드는 리뷰어가 병합


  • Sourcetree에 Git Flow가 표시되지 않는 경우


  • 툴바를 마우스 오른쪽 버튼으로 클릭하고 툴바 사용자 정의를 선택합니다.
  • Git Flow를 드래그 앤 드롭하여 툴바에 추가

  • 개발 흐름



    리포지토리 초기화



    처음으로 Git Flow 버튼을 누르면 리포지토리 초기화 화면이 나타납니다.
    운영 규칙에 맞게 사용자 정의할 수 있습니다.
    기본적으로 기본 설정으로 남아있어 괜찮습니다.


    기능 개발 개시



    Git Flow 버튼을 누르면 권장 동작이 표시됩니다.
    개발 착수시에는 [새 기능 시작]을 클릭합니다.


    기능 이름을 입력하고 OK를 누르면 develop에서 기능이 생성됩니다.

    이 경우 feature/sample이 작성됩니다.


    리뷰



    구현이 완료되면 feature를 푸시하여 Github에서 끌어오기 요청을 만듭니다.



    검토가 완료되면 Github에서 병합합니다.

    다음 단계에서 자동으로 분기가 삭제되므로 여기에서는 분기를 삭제할 필요가 없습니다.

    기능 개발 종료



    Git Flow 버튼을 누르고 현재 브랜치 종료 버튼을 클릭합니다.


    브랜치 삭제를 선택한 상태에서 확인을 클릭하면 로컬 및 원격 브랜치가 자동으로 삭제됩니다.


    마지막으로 develop에서 소스 코드를 pull합니다.
    이 때 '병합이 아닌 리베이스'를 선택하십시오.


    feature 의 변경 내용은 모두 develop 에 캡쳐되고 있으므로, 히스토리는 이렇게 됩니다.


    출시



    Git Flow 버튼을 누르고 새 릴리스 시작을 클릭합니다.

    릴리스 버전을 입력하고 OK를 누르면 develop에서 release가 생성됩니다.



    릴리스 작업이 완료되면 Git Flow 버튼을 누르고 현재 브랜치 종료를 클릭합니다.

    태그 메시지를 입력하고 분기 미리보기를 확인합니다.

    문제가 없는지 확인하고 OK를 누르면 release가 master, develop 모두에 병합됩니다.
    feature 때와 마찬가지로 Github에서 병합하는 것도 가능합니다.


    요약


  • Sourcetree를 사용하면 git, git-flow 명령을 모르더라도 Git Flow에서 개발할 수 있습니다.
  • Github에서의 코드 리뷰도 문제없이 할 수 있습니다.
  • 로컬/리모트 브랜치의 삭제, 태그의 추가가 git-flow로 되므로, 오퍼레이션 미스가 적어집니다.

  • 참고 기사



    A successful Git branching model

    좋은 웹페이지 즐겨찾기