본문으로 건너뛰기

Git 사용 방안

개발 절차를 확정할 때, 꼭 필요한 내용이 SCM 사용 전략 입니다.
SCM(Source Code Management)는 소스 코드의 변경을 추적하고 여러 코드 기여자간의 병합과 충돌을 해결하는 도구 입니다. 그중 우리는 Git 을 사용 합니다.

사전 준비 사항

  • 깃랩 계정

  • 깃 클라이언트 도구

  • 전체 내용을 읽기 위해 대략 10분

팀 구성과 역할

주체역할
Owner- 프로젝트 총괄
- 프로젝트 버전을 설정하고 과장
Maintainer- upstream 저장소와 forked 저장소를 병합
Developer- 소스코드 생산
- 이슈트래킹
- 정적코드분석 대응

브랜치 전략

익히 알고 계신대로, git의 branch기능을 활용한 git flow, github flow 등의 방법이 있습니다.
언급한 검증된 전략에 우리의 환경과 방식에 적합한 내용을 추가해서 다음과 같이 안내 드립니다.

안내하는 방법은 논리적인 전략으로 강제되진 않지만, 최대한 지켜주시길 강권 합니다.

main 브렌치

전체적으로 현재 진행중인 작업을 총괄합니다. 개발 과정에서 정적코드분석 및 CI/CD가 해당 브렌치의 변화를 감지해서 동작합니다.
Developer 주체는 코드 push 권한이 제한되고, MR(Merge Request)를 통해서만 코드를 반영할 수 있습니다.

기능 개발 진행할 때, feats-*

특정 기능 개발을 할 때는 main에서 feats- prefix 를 사용한 브렌치를 생성해서 개발을 시작합니다.

예를들어, 사용자 기능을 개발한다고 하면
feats-user-management 와 같이 브렌치를 만듭니다.

개발이 완료됐다면, 다음 다이어그램에 맞춰서 CI/CD 가 동작 합니다.

버전 반영

버전 갱신은 Owner의 권한이고, 개발 내역 및 Milestones 등의 종합적인 내용을 판단해서 Tag 를 추가 합니다.