[github flow]

myeongwang·2023년 11월 18일
0
post-thumbnail

Branch models

브랜치 전략이란 여러 개발자가 1개의 저장소를 사용하는 환경을 효과적으로 활용하기 위한 개념. 브랜치 생성, 병합 등의 git 구조를 활용, 효율적으로 소스를 관리하고 협업을 원활하게 할 수 있도록 도와줌.

브랜치 전략은 Git flow, GitLab flow, Github flow 3개로 보통 사용

git flow

  • 각 단계가 명확히 구분되어 배포주기가 주기적인 서비스에 유리. but 복잡.

github flow

  • 브랜치 모델의 단순화.
    CI 의존성이 높고, pull request가 없으면 실수에 대처가 힘듦

gitlab flow

  • deploy, issue에 대응을 하기 쉽도록 한 모델

협업

Forking Workflow

  • fork를 통해 팀원들 각자의 개인 저장소를 따로 가지고 프로젝트를 진행.
  • 팀원들은 각자의 저장소에서 자유롭게 작업 실시.
  • 팀원의 작업 내용은 Pull requests를 통해 팀장의 확인 후 반영.
  • 팀장 저장소의 권한은 팀장만 가지고 있으면서 다른 사람의 커밋을 프로젝트에 적용 가능.
  • 팀장이 코드를 확인하고 merge 실시, 그렇기에 안전한 협업 가능.
  • opensource project에서 많이 사용.

조직 설정 및 초기화 (팀장)

프로젝트 저장소 생성:

  • 조직 생성: 팀장은 organization 생성. 이는 팀의 프로젝트와 멤버를 중앙에서 관리할 수 있는 공간
  • 팀원 초대 및 역할 할당: 팀장은 팀원들을 조직에 초대하고, 필요에 따라 다양한 역할과 권한을 할당.
  • 프로젝트 저장소 생성: organization 내에 하나 이상의 repo 생성. 프로젝트를 위한 중앙 저장소 역할

issue task 생성하여 위와 같이 수행 진행과정 공유 가능

일상적인 작업 (팀원)

  • 저장소 포크 또는 클론: 팀원들은 프로젝트 repo를 자신의 계정으로 포크& 클론 실시
  • 새로운 브랜치 생성: 각 작업 항목에 대해 팀원들은 새로운 브랜치를 생성. 이 브랜치는 특정 기능이나 버그 수정에 대한 작업을 분리하기 위함.
  • 작업 실행 및 커밋: 팀원들은 자신의 브랜치에서 작업을 수행하고, 변경 사항을 커밋.
  • 풀 리퀘스트 생성: 작업이 완료되면, 팀원들은 중앙 저장소에 풀 리퀘스트를 생성. 이는 코드 리뷰를 위한 요청.

코드 리뷰 및 병합 (팀장 또는 지정된 리뷰어)

  • 코드 리뷰: 팀장 또는 지정된 리뷰어들이 풀 리퀘스트를 검토하고, 필요에 따라 피드백을 제공.
  • 풀 리퀘스트 승인 및 병합:리뷰 과정을 거쳐 문제가 없다고 판단되면, 팀장 또는 리뷰어는 풀 리퀘스트를 승인하고 main 브랜치에 병합.

후속 조치 및 유지보수 (팀장 및 팀원)

  • 문제 추적 및 관리: 프로젝트의 이슈를 추적하고, 필요에 따라 새로운 이슈를 생성하거나 기존 이슈를 업데이트.
  • 지속적인 개선: 프로젝트는 지속적으로 개선되며, 새로운 기능 추가나 버그 수정 등의 작업 반복.
profile
Real Cryptocurrency Trader & AI Engineer LV.0

0개의 댓글