Skip to content

Git 브랜칭 정책

Herb edited this page Jul 12, 2023 · 3 revisions

브랜치 전략

Git-Flow의 변형으로 전략을 정했다.

브랜치명 설명 예시
main 단일 브랜치. 플레이스토어 배포 기준. 삭제하지 않는다.
release 개발 브랜치에서 분기하는 배포 브랜치. 버전마다 생성된다. main 브랜치와 개발 브랜치에 병합한다. 삭제하지 않는다. release-1.1.0
develop-backend 백엔드 개발 브랜치. 삭제하지 않는다.
develop-android 안드로이드 개발 브랜치. 삭제하지 않는다.
feature 기능별 브랜치. 기능 구현시 생성하고 구현 완료시 각 개발 브랜치에 병합 후 삭제한다. feature/#34
hotfix main에서 분기하며, 버그가 수정될 시 main 브랜치와 개발 브랜치에 병합한다. 병합 후 해당 브랜치는 삭제된다. hotfix/#49

커밋 컨벤션

Github Convention

  1. 1개의 feature 단위로 브랜치 생성한다.
  2. 1개의 feature 단위로 issue 생성한다.
  3. 1개의 issue 내에 세부작업마다 commit한다.(커밋은 원자단위로 찍는다)
  4. 1개의 feature 끝나면 pull request 한다. ⇒ 코드리뷰후 merge되면 해당 issue를 close 한다.

prefix

  • [feat] : 기능 추가, kotlin 작업

  • [ui] : xml 작업

  • [fix] : 에러 수정, 버그 수정

  • [docs] : README, 문서

  • [refactor] : 코드 리펙토링 (기능 변경 없이 코드만 수정할 때)

  • [chore] : gradle 세팅, 위의 것 이외에 거의 모든 것

  • [util] : util 관련 작업시

  • [style]: 코드 스타일 변경

  • [add] : 파일 추가 시

  • [test] : 테스트

  • [release] : 릴리즈 시

  • [hotfix] : 핫픽스 시

Issue Convention

## 화면 이름
제플린이나 피그마 프레임 단위

## 기능 설명
구글 로그인 구현

사진<img src = "">(선택사항)

## 필요 태스크
- [x] 구글 로그인 api 연동
- [x] 토큰 전송
  • 최대한 자세히 작성한다. (issue를 최대한 자세히 작성함으로 PR과 commit message를 경량화 할 수 있다.)
  • 한글로 작성한다.
  • 명령조를 사용한다. (수정(o)수정한다(x))
  • issue 제목
    • [prefix] 화면명 / 이슈명
    • [prefix] 이슈명 (util 혹은 chore 작업시 화면명은 적지 않는다)
  • github label
    • prefix 와 동일하게 단다.
    • android를 단다.
    • 해당인원의 이름 Label을 단다.

Commit Convention

commit message convention

  • [prefix] 화면명 / 작엽명 #(issue_number)

  • [feat] 메인_홈 / 무한스크롤 구현 (#433)

  • commit message에는 마침표(.)를 찍지않는다.

PR Convention

## 관련 이슈번호
- closed #234

## 작업 설명
- 알잘딱깔센

## 작업화면(선택)

## 미완료 태스크(선택 주석으로 만들어놓음)
- [ ] Task1
  • 한글로 작성한다.

  • 최대한 간단히 작성한다. 이슈를 통해 내용을 파악한다.

  • 명령조를 사용한다. (수정(o)수정한다(x))

  • 제목: issue 제목 (#이슈번호) (이슈 제목 자체를 복사 붙여넣기 하면된다.)

    ex) [feat] 메인_홈 / 무한스크롤 구현 (#433)

  • 내용: 템플릿 형식을 따르며 PR에서 미완료된 태스크가 있다면 기재한다.

  • github label

    • pull request 라벨 추가

gitGraph
    commit
    branch develop-backend
    branch develop-android
    branch release-1.0.0

    checkout develop-backend
    commit
    commit

    checkout develop-android
    commit

    checkout release-1.0.0
    merge develop-backend
    merge develop-android

    checkout main
    merge release-1.0.0 tag:"1.0.0"

    checkout develop-backend
    merge release-1.0.0

    checkout develop-android
    merge release-1.0.0

    checkout main
    commit
    branch hotfix

    checkout hotfix
    commit

    checkout main
    merge hotfix tag:"1.0.1"

    checkout develop-backend
    merge hotfix
    
    checkout develop-android
    merge hotfix

Loading
Clone this wiki locally