GitHub Flow란?
- 개발자들이 협업하고 소프트웨어를 개발하는 데 사용하는 브랜칭 전략 및 워크플로우
GitHub Flow 주요 단계
- 브랜치 만들기 (Create a Branch)
- 코드 작업 (Add Commits)
- Pull Requeset 열기 (Open a Pull Request)
- 토론 및 리뷰 (Discuss and Review)
- 병합 (Merge)
- 배포 (Deploy)
GitHub Flow 장점
- 단순함, 직관적
- 지속적인 통합과 배포에 이상적
- 자동화 용이
- 쉬운 롤백
- 소규모 팀의 애자일 및 지속적 개발에 적합
- 작은 변경 사항을 빠르게 배포
- 빠른 사용자 피드백
GitHub Flow 단점
- 대규모 프로젝트의 복잡성 다루기
- 독립적인 기능을 구현하기 어려움
- 코드 충돌 가능성
- 롤백의 복잡함
GitHub Flow 예시
브랜치 생성 (Create a Branch)
- 새로운 기능이나 버그 수정과 같은 작업을 시작하기 전에 main 브랜치에서 새로운 브랜치 생성
git checkout -b feature_branch
코드 작업 (Add Commits)
- 새로운 브랜치에서 코드를 변경하고 변경된 내용을 커밋
git add .
git commmit -m "Add new feature"
Pull Request 열기 (Open a Pull Request)
- 변경 사항을 main 브랜치에 병합하려면 GitHub 인터페이스나 명령줄을 사용하여 Pull Request를 오픈
코드 리뷰 (Code Review)
- Pull Request에서 동료 개발자들과 코드 리뷰를 진행하고, 필요에 따라 변경 사항을 추가하고 수정
통합 (Merge)
- 코드 리뷰가 완료되면 Pull Request를 main 브랜치로 병합
배포 (Deploy)
- main 브랜치에 변경 사항이 병합되면, 필요에 따라 자동 또는 수동으로 배포 진행
브랜치 삭제 (Delete the Branch)
- 변경 사항이 병합되고 더 이상 필요하지 않은 브랜치는 삭제
git branch -d feature_branch