git flow
master : 기준, 제품 베포
develop : 개발
feature : 단위 기능 개발
release : 배포하기위해 masster 보내기전 QA(품질검사
hotfix : master에서 버그가 생겼을 때 긴급 수정
github flow
- master는 어떤 때든 배포 가능
- master에서 새로운 브랜치를 만들때 이름을 명확히
- 브랜치는 항상 master 브랜치에서
- 어떤 일을 하고 있는지 작성
- 커밋메시지 명확하게
- 원격지 브랜치로 수시로 push하자
- git-flow와 상반됨
- 다른사람이 확인하도록
- 피드백, 도움이 필요할때, merge 준비가 완료되었을 떄는 pull request 생성
- pull request는 코드 리뷰를 도와주는 시스템
- 자신의 코드를 공유하고, 리뷰받자
- merge 준비가 완료되었다면 master 브랜치로 반영을 요구
- 기능에 대한 리뷰와 논의가 끝난 후 master로 merge 한다.
- github-flow의 핵심
- master로 merge가 일어나면 자동으로 배포가 되도록 설정한다.
gitlab flow
- gitlab의 production 브랜치 = gitflow의 master브랜치
- pre-production 브랜치는 production브랜치로 결과를 넘기기 전에 테스트를 수행하는 브랜치이다.
fork와 pull request