Skip to content

Github Guide

never-better edited this page Jul 18, 2023 · 1 revision

Github Guide

Git Flow

git forking workflow 적용

  1. 팀 프로젝트 레포 포크한다.(이하 팀 레포)
  2. 포크한 개인 레포(이하 개인 레포)를 클론한다.
  3. 개인 레포에서 작업하고 개인 레포의 원격저장소로 푸시한다.
  4. 풀리퀘스트를 통해서 팀 레포로 머지한다.
  5. 풀받아야 할때는 팀 레포에서 풀 받는다.

git flow 적용

  1. Issue를 생성한다.
  2. feature Branch를 생성한다.
  3. Add - Commit - Push - Pull Request 의 과정을 거친다.
  4. Pull Request가 작성되면 작성자 이외의 다른 팀원이 Code Review를 한다.
  5. Code Review가 완료되면 Pull Request 작성자가 develop Branch로 merge 한다.
  6. 종료된 Issue와 Pull Request의 Label과 Project를 관리한다. → 자동으로 되도록 처리.

Git Branch 전략

Branch Role
main  
develop QA가 완료되면 main에 병합
feature 새로운 기능 개발 → 최종적으로 PR을 거쳐 develop 브랜치에 병합
refactor develop에서 코드를 개선하기 위한 브랜치
fix develop에서 오류를 수정하기 위한 브랜치

Label

NameSpace Member Description
type feat 기능 추가
  documentation 문서, 주석 작성
  bug 버그
  chore 프로젝트 세팅, 패키지 추가 등
  test 테스트 추가
  asset 이미지, 폰트 등 에셋 추가
  del 삭제
  fix 기능 수정

Git Commit Convention

커밋 컨벤션

    • 커밋은 최대한 작은 단위로 하기. 커밋을 reset 하면 5~10분 전으로 돌아갈 수 있도록.
    • 커밋 description 적을 수 있으면 적기
  • 예시

    Prefix #이슈번호 - 이슈내용 
    
    ex)
    Feat #1 - 기능 구현
    Design #1 - 레이아웃 구현
    [Feat] : 새로운 View 생성, 새로운 기능 구현
    [Fix] : 버그, 오류 해결, 코드, just 화면, 레이아웃 조정 등 수정 관련 코드
    [Asset] : 이미지, 폰트, 컬러 등 에셋 추가
    [Del] : 쓸모없는 코드, 주석 삭제
    [Refactor] : 전면 수정이 있을 때 사용합니다
    [Remove] : 파일 삭제
    [Chore] : 그 이외의 잡일/ 버전 코드 수정, 패키지 구조 변경, 파일 이동, 파일이름 변경,
    [Docs] : README나 WIKI 등의 문서 개정
    [Comment] : "주석만" 추가 및 변경
    [Merge] : 머지
    [Setting] : 프로젝트 세팅 및 전반적 기능

코드 리뷰

리뷰의 목적

  • 코드의 품질을 유지
  • 모두의 성장

리뷰 조건

  • 최소 1명 이상 Approve
  • 자기 PR을 올렸을 때, 다른 사람 PR이 올라와 있으면 리뷰를 달고 코드를 작성하기
  • 하루 코딩 시작 전, 리뷰 달고 시작하기

리뷰시 확인사항

  • 일관성 : 아키텍처(구조)나 컨벤션이 일관성을 유지하는지 확인
  • 성능 개선 개발 : 시간복잡도, 메모리
  • 오류 : 잠재적인 오류에 대한 검출
  • 신규 기술 도입 : 해당 기술의 로직과 그에 대한 물음
  • 기술 공유 : 기술적인 지식 공유. 블로그, 라이브러리 링크 제공해주면 좋음
  • 기타 : 전체적인 흐름을 이해하기 위해 실제 빌드를 해서 동작을 시켜보고 이해하기도 합니다.
  • PN + Q 룰
    • P1: 꼭 반영해주세요 (무조건 코드 수정 필요)
    • P2: 웬만하면 반영해 주세요 (급하면 안 해도 됨)
    • P3: 반영해도 좋고 넘어가도 좋습니다 (안해도 됨)
    • Q : 궁긍한 사항에 대해 질문

코멘트 작성 요령

권고사항

  • 가급적이면 대안을 제시할 것
    • OO → XX
    • XX 는 OO 부분을 참고
    • OO → XX 에 의해서 문제
  • 방식보다는 내용에 집중하기
    • P5 레퍼런스 참고 : ~~~

ex)

  • P1: 충돌 발생

버전

버전 날짜 업데이트 내용
1.0 07/10 초안