Git

08. Github Flow - 패스트캠퍼스 백엔드 부트캠프 3기

gkss2tpt 2024. 12. 17. 11:48

1. Github Flow란?

  • 개발자들이 협업하고 소프트웨어를 개발하는 데 사용하는 브랜칭 전략 및 워크플로우

2. Github Flow 주요 단계

  • 브랜치 만들기 (Create a Branch)
  • 코드 작업 (Add Commits)
  • Pull Request 열기 (Open a Pull Request)
  • 토론 및 리뷰 (Discuss and Review)
  • 병합 (Merge)
  • 배포 (Deploy)

3. Github Flow 장점

  • 단순함, 직관적
  • 지속적인 통합과 배포에 이상적
  • 자동화 용이
  • 쉬운 롤백
  • 소규모 팀의 애자일 및 지속적 개박에 적합
  • 작은 변경 사항을 빠르게 배포
  • 빠른 사용자 피드백

4. Github Flow 단점

  • 대규모 프로젝트의 복잡성을 다루기에 단순함 
  • 독립적인 기능을 구현하기 어려움
  • 코드 충돌 가능성이 높음
  • 롤백의 복잡함

5. Github Flow 예시

  • 브랜치 생성 (Create a Branch)
    • 새로운 기능이나 버그 수정과 같은 작업을 시작하기 전에 main 브랜치에서 새로운 브랜치를 생성합니다.
    • git checkout -b feature_branch
  • 코드 작업 (Add Commits)
    • 새로운 브랜치에서 코드를 변경하고 변경된 내용을 커밋합니다.
    • git add .
    • git commit -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