Skip to content

협업 컨벤션

Taegu Han edited this page Jul 8, 2022 · 1 revision

💎 협업 컨벤션

  • 전체적인 협업 플로우는 아래의 5단계를 따릅니다.

이슈 발행이슈 작업(코딩)풀 리퀘스트코드 리뷰이슈 반영(Merge)

  • 이 프로세스는 모두 깃허브의 칸반 보드에서 관리합니다.
  • 이슈마다 branch를 생성해 진행한다.

Issue의 기준? 프로젝트를 진행함에 있어 의견이 필요한 모든 것이 이슈라고 볼 수 있다. 새로 추가될 기능, 개선점, 버그 등등. 모든 활동에 대해서 이슈를 등록하고 그 이슈를 기반으로 작업을 진행한다.

  • 효율적 관리를 위해 태그를 다는 것이 좋다.

이슈 발행 이후 작업 방법

  1. branch 생성 : 내가 담당한 기능 개발을 위해 각자 속한 팀의 branch에서 새로운 branch 생성합니다. branch이름 앞에 이슈번호를 붙인다. ex) #12 Mirror git checkout -b [브랜치명]
  2. 작업 수행 후 add, commit, push : branch 내 작업 완료 후 origin 원격 브랜치에 수정사항을 반영합니다. git push -u origin [브랜치명]
  3. 코드 리뷰를 위한 PR 생성
    • PR 제목은 한 일 또는 해결방안 위주로 작성한다.
    • 메시지 최대한 자세하게 작성
  4. 코드 리뷰 : 리뷰어는 PR에 대해 3가지 의사표현 가능
    • Comment : 그냥 코멘트만 달아줌.
    • Request changes : 코드에서 버그를 발견하면 수정 요청.
    • Approve : 코드 merge에 동의.
  5. Merge PR : 모든 리뷰어에게 Approve를 받으면 PR 작성자가 직접 각자 팀 branch에 merge하고 conflict 해결 및 기존 기능들과의 상호 작동여부 확인한다.
    • Merge dev, main : 프로젝트 리더 및 각 팀의 사람들에게 동의를 얻으면 팀 branch를 dev에 merge한다.

현실은 2번과 4번 사이의 무한 반복일 것이다!! 이게 바로 프로젝트와 협업이다👍



💎 깃 컨벤션

  • 이슈는 "해야할 일" 또는 "문제점 (ex. 충돌발생) "을 위주로 한글 제목을 작성합니다.

캡처

  • 마찬가지로 PR은 "해결방안 (ex. 서브파일생성) "을 위주로 제목을 작성합니다.
  • commit 메세지는 "[태그] 코드에 대한 설명" 으로 합니다.
    • 태그는 다음과 같습니다.
      • feat : 새로운 기능에 대한 커밋
      • fix : 버그 수정에 대한 커밋
      • build : 빌드 관련 파일 수정에 대한 커밋
      • chore : 그 외 자잘한 수정에 대한 커밋
      • docs : 문서 수정에 대한 커밋
      • style : 코드 스타일 혹은 포맷 등에 관한 커밋
      • test : 테스트 코드 수정에 대한 커밋
    • 코드에 대한 설명은 되도록 영어로 적습니다.
    • 코드에 대한 설명은 summary로 요약 한 문장, Description으로 자세한 내용을 적습니다.
    • 커밋은 나누어 할수록 좋습니다. 최대한 작은 단위로 커밋합시다.
  • 되도록이면 당일 작업사항은 당일에 PR합니다. 코드가 쌓이면 원활한 1:1 리뷰가 어렵기 때문입니다.
  • 리뷰는 최소 두사람에게 받도록 합니다.
  • 리뷰를 받지 않은 코드는 dev에 merge할 수 없습니다.
  • PR은 리뷰어 approve완료 후 PR작성자가 merge 합니다. (해당 branch는 delete)
  • 프로젝트는 진행상황은 칸반보드로 관리합니다.
  • 칸반보드에서 작업을 시작한 issue의 카드는 2번째 탭 '진행중 / 코드작성중'으로 옮겨놓아 작업현황을 팀원들과 공유합니다.

1. 프로젝트 XVerse

2. 협업환경

Clone this wiki locally