Github 및 Source Tree 사용기 - JeeHyeShim/study GitHub Wiki
브랜치 관리 모델 중 하나. 항상 존재하는 main branch로 master와 develop를 두고 필요할 때 생성했다가 삭제하는 supporting branch로 feature, release, hotfix branch를둡니다.
- master: 배포된 소스가 있는 브랜치.
- develop: 다음 배포를 위한 소스가 있는 브랜치. 개발이 완료되면 master로 머지합니다.
- feature: 특정 기능 하나에 대해 develop로부터 생성하고, 개발이 완료되면 다시 develop로 머지합니다.
- release: 배포를 위한 준비를 하는 브랜치. develop에서 다음 배포를 위한 개발이 모두 완료되면 생성하고, 각종 메타데이터나 작은 버그를 수정합니다. 배포 준비가 완료되면 버전 태그를 붙여 master와 develop에 각각 머지합니다.
- hotfix: 배포된 버전에 긴급한 변경 사항이 있을 때 사용합니다. master로부터 생성하고, 긴급한 이슈가 해결되면 master와 develop에 머지합니다.
## Source Tree
초기 화면
저장소 생성 창
저장소 생성 후
"깃플로우" 버튼 클릭
이미 git flow 작업중이던 파일은 master까지 받아와야 git flow 적용 가능합니다.
master 브랜치를 받아옵니다.
처음으로 git flow를 적용했다면 default branch를 develop으로 변경해야 합니다.
"확인"을 누르면 Git Flow가 셋팅됩니다.
상단의 "깃플로우" 클릭 후 "새 기능 시작" 버튼 클릭
새로운 feature branch를 생성합니다.
작업 후 stage, commit.
commit한 모습.
상단의 "push"버튼 클릭
github.com에서 프로젝트>Pull request. "New pull request" 버튼 클릭
compare를 작업했던 브랜치로 설정하면 pull request를 만들 수 있습니다.
코멘트를 작성해 create하면 Pull request 탭에 숫자가 1로 늘어납니다. 수정된 부분을 확인하고 코멘트를 달 수 있습니다.
코멘트 작성 예시
Merge하는 시점은 팀에서 협의하여 정합니다. "Merge pull request"버튼을 누르면 merged로 상태가 바뀝니다. 단, 충돌이 생기면 해당 버튼이 비활성화 됩니다.
Source Tree에 반영된 모습. merge후엔 해당 브랜치를 삭제합니다.
상단의 "깃플로우"를 클릭한 후 "새 릴리즈 시작"버튼을 클릭하면 릴리즈명으로 브랜치가 하나 생겨납니다.
릴리즈 준비가 완료되었으면 상단의 "깃플로우"를 클릭한 후 "릴리즈 마무리"버튼 클릭
Source Tree에서 자동으로 develop과 master에 태그를 달아 merge하고 브랜치 삭제까지 완료해줍니다.
그 후, develop과 master, 태그까지 모두 push해줍니다.
역시 상단의 "깃플로우"를 클릭한 후 "새 핫픽스 시작"버튼을 클릭합니다.
hotfix작업이 완료되었으면 상단의 "깃플로우"버튼을 클릭한 후 "핫픽스 마무리"버튼 클릭
이 역시 Source Tree에서 자동으로 develop과 master에 merge해줍니다. 그 후, develop, master와 태그 모두 push해줍니다.