코딩항해기
[Team/붕어빵원정대(최프)] 팀 프로젝트 git 관리 본문
팀 프로젝트 git 관리 방식
최종 프로젝트에서는 git을 사용해 코드를 관리했는데, 크게 공개용(배포용) 브랜치와 개발 브랜치로 분리해 작업을 진행했다.
개개인의 작업은 이슈를 생성해 해당 이슈 브랜치에서 작업을 하며, 작업 완료된 코드는 PR과 코드리뷰를 거쳐 개발 브랜치에 모두 모이게 된다.
개발 브랜치에 모인 코드는 검증을 통해 오류를 찾고, 연결 및 수정을 이슈 브랜치에서 진행해 다시 수정을 반영하며 진행된다. 개발이 모두 완료되면 최종 브랜치로 PR과 코드리뷰를 거치고 관리자 승인을 통해 코드가 업로드되면 최종 프로젝트가 완성된다.
해당 방식의 장점은 개발이 별도의 브랜치에서 이뤄지기 때문에 공개되는 브랜치까지 개발 중인 코드가 바로 전달되지 않아 (이미 서비스 제공 중인 프로젝트라면) 서비스 유지에 용이하다는 점이 있고, 이슈로 잘게 나눠 코드 작업을 진행하기 때문에 충돌 관리가 용이하다.
브랜치 보호 룰 적용
브랜치마다 각각의 역할이 있고, 지켜야하는 룰이 있기 때문에 git-hub rule 기능을 통해 실수하더라도 룰에 의해 진행되지 않도록 적용했다.
최종 브랜치의 경우 일반 push를 진행할 수 없으며 오직 PR를 통해서만 코드 변경이 진행될 수 있게 하는 룰을 추가했다. 또한 PR자체를 실수할 우려도 있으므로 아예 lock를 걸어 관리자만 최종 승인을 할 수 있도록 작업했다.
개발 브랜치의 경우에는 최종 브랜치와 같지만 lock를 해제해 모든 팀원이 코드리뷰를 완료하면 바로 병합을 진행할 수 있도록 작업했다.
실제 작업한 모습
이슈 issue
PR
코드리뷰 후 승인
GitHub - miniBcake/bungeobbang
Contribute to miniBcake/bungeobbang development by creating an account on GitHub.
github.com
'Project' 카테고리의 다른 글
[Team/붕어빵원정대(최프)] 발표자료 (전체 파일, 일부 이미지) (0) | 2024.11.14 |
---|---|
[Team/붕어빵원정대(최프)] 팀 프로젝트 작업 파트 정리 (1) | 2024.11.08 |
[Team/붕어빵원정대(최프)] 최종 프로젝트 (git, notion) (1) | 2024.11.06 |
[Team/붕어빵원정대(최프)] 로그 관리 (0) | 2024.11.01 |
[Team/붕어빵원정대(최프)] Model파트 DAO 오류해결 기록 (0) | 2024.10.27 |