Skip to content
min-gyeong-00 edited this page May 22, 2023 · 3 revisions

Branches

main : 실제로 작동하고 있는 버전, CI/CD 대상 브랜치

develop : 개발 단계에서 각 feature 브랜치가 합쳐지는 브랜치, 각 feature에서 날린 PR은 최소 한 명의 리뷰 후 merge 될 수 있음

feature : 각 기능 별로 생성하는 브랜치, develop에 merge 후 삭제, ex. feature/#{issue number}/{feature name}/{collaborator name}

Flow

각 collaborator는 fork로 분기해 작업

매주 금요일 develop 브랜치를 main 브랜치로 merge, 1주일 동안 자신이 진행할 개발 일정 backlog 작성 및 각 backlog 이슈에 해당하는 브랜치 생성

매일 오후 9시에 collaborator는 feature 브랜치에서 develop 브랜치로 전송한 PR을 리뷰하고 승인하는 scrum 진행

develop 브랜치가 업데이트 되면 fetch-rebase 이용해 local 저장소 업데이트

참고 : 참고

Commit

ex. #{issue number}-{type}/{commit message} type

feat : 기능을 추가한 경우

style : 변수 이름 변경, 줄 간격 변경 등의 코드의 스타일을 변경하는 경우

fix : 버그를 수정한 경우

refactor : 리팩토링을 진행한 경우

test : 테스트 코드 작성 및 테스트 코드를 수정한 경우

rm : 파일을 제거한 경우

mv : 파일의 위치를 변경한 경우

env : 프로젝트 환경 설정과 관련된 경우

doc : 문서와 관련된 변경

add : 코드 또는 파일을 추가하는 경우

rn : 클래스, 파일 등의 이름을 변경하는 경우

PR

feature -> develop

title: feature 브랜치 이름

content:

구현 및 수정한 기능 요약

작업하며 발생했던 문제

문제의 원인과 해결 방법

develop -> main

title: 현재 날짜(yyyy/mm/dd)

content: 추가 및 수정한 기능 - {담당자 username}

편의상 local -> remote -> upstream 과정을 거치지 않고 local에서 바로 git push upstream ${branch_name} 으로 바로 upstream으로 push

해당 명령어 수행 시 upstream에 동일한 이름의 브랜치 생성됨

해당 방법을 통해 upstream github에 표시되는 불필요한 commit을 없앨 수 있음

Guide

EnvEduPNU에서 본인 github으로 fork

본인 PC에서 git clone https://github.com/${본인 레포지토리}/${프로젝트}.git ex. git clone

https://github.com/201724554/EnvEdu_Server.git

본인 PC에서 git add remote -t develop upstream [https://github.com/EnvEduPNU/${프로젝트}.git] (https://github.com/EnvEduPNU/%24%7B%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%7D.git)

작업 시, EnvEduPNU의 프로젝트 레포지토리에 이슈 생성

로컬에서 main 브랜치에 위치한 상태로 git checkout -b feature/${생성한 이슈 번호}/${작업에 대한 간단한 묘사(CamelCase)/${본인 깃허브 아이디} 실행해 브랜치 생성 작업, 커밋 단위 크지 않게

git push upstream ${생성한 브랜치 이름}

PR 날리기(#PR 참고)

리뷰 후 develop 브랜치로 merge

merge 완료 되면 로컬에서 git switch main 실행해 main 브랜치로 복귀

git fetch upstream develop 실행해 develop 브랜치에 merge된 내용 가져오기

git rebase upstream/develop으로 로컬의 develop 브랜치와 upstream develop 동기화

git branch -D ${생성한 브랜치 이름}으로 작업 브랜치 제거

4로 이동해 반복

Clone this wiki locally