Skip to content

git 전략

J219_홍종우 edited this page Nov 5, 2021 · 14 revisions

Branch 전략

  • 아래의 2가지 그림 참고(최초 1, 2번 진행 후 3번 부터 반복)
  • 전략 그림(1) git 전략 그림(1)

  • 전략 그림(2) git 전략 그림(2)

  • 전략 관련 로직 설명

    1. origin Repository : main / dev 브랜치 생성
    2. 최초 1회 Local로 dev 브랜치 clone 후 directory 이동
      - (local) git clone -b dev xxx.git
      - cd REPO_NAME
    3. 기능별 브랜치 생성(feat/{example})
    4. 개인별 작업 브랜치로 이동
      - git checkout feat/{example}
      - git checkout -b {example}/#?  (필요 시 선택 사항)
    5. Local 작업 브랜치 코드 수정 및 commit 진행
      - ({example/#??) git add && git commit
    6. Local 기능 브랜치(feat/{example})에 단순 merge
      - (feat/{example}) git merge {example}/#??
    7. Local 작업 브랜치를 origin 대상 기능 브랜치에 push
      - (feat/{example}) git push origin feat/{example}
      - 이 때, Conflict 발생 시, rebase 후 conflict 해소 이후 push
         - (feat/{example}) git pull --rebase origin feat/{example} 진행 후 conflict 해소, commit, rebase --continue
    8. origin feat/{example} -> origin dev으로 PR
      - PR 리뷰 및 Squash and Merge
      - Conflict 발생 시 - (Local feat/{example}) git pull --rebase origin dev (conflict 해소 후 다시 Push && PR)
      - Conflict 미 발생 시 - (Local feat/{example} -> origin feat/{example}) git push feat/{example} && PR
    9. 배포판 구성 시, origin dev -> origin main 으로 PR
      - create and merge의 경우 origin main -> origin develop으로 fetch 해주어야 함
    10. Local 작업 브랜치 fetch and rebase
    - (Local dev branch) git pull --rebase origin dev
    11. 신규 기능, 3번 부터 반복


PR Convention

Origin feat/{example} -> Origin dev PR (Squash and Merge)

  • PR 제목: [ISSUE_TAG] Title
  • PR 내용:
### 🔨 작업 내용 설명

### 📑 구현한 내용
뭐했는지 목록화 

### 🚧 주의 사항
기능을 구현하면서 만났던 어려웠던 점.

[### 스크린 샷]

[issue | close] #[ISSUE_NUMBER]

Origin dev -> Origin main PR (Create and Merge)

  • PR 제목: [Deploy] dev -> main 반영
  • PR 내용:
### 📑 배포 대상 기능 목록


Issue Convention

  • 이슈 제목: feat/{example} [설명]
  • 이슈 내용:
### 🔨 기능 설명
기능 설명

### 📑 구현할 내용
목록화 

### 🚧 주의 사항
기능을 구현할 때 유의깊게 살펴볼 사항

(### 스크린 샷)


이슈 라벨

  • #55795D Feat
  • #0052CC Feat Fix
  • #cfd3d7 Feat Refactor
  • #a2eeef Feat Design
  • #2A9825 Feat Docs
  • #008672 Feat Test
  • #e4e669 Feat Chore
  • #d876e3 Feat Deploy
  • #075D93 Feat FE
  • #0052cc Feat BE
  • #B60205 Feat High
  • #FBCA04 Feat Middle
  • #1D76DB Feat Low
  • #03C897 Feat 리뷰 요청
  • #85E459 Feat 리뷰 완료


커밋 컨벤션

EX) Feat: #12 - 로그인 페이지 레이아웃

    로그인 버튼 레이아웃 완성
    색깔은 메인테마색인 초록색으로 함
    [BE] url도 추가함
# <tag>: #<issue> - <subject>
##### Subject 50 characters ################# -> |

# Body Message
# [<field>:<기능이름>]
# - 설명
######## Body 72 characters ####################################### -> |

# --- TAG NAME ---
#   Feat    : 새로운 기능 추가
#   Fix     : 버그 수정, 코드 스타일 수정 코드 포맷 변경, 세미 콜론 누락 등
#   Refactor: 코드 리펙토링 로직 수정 X
#   Design  : css, html, 레이아웃 수정
#   Docs    : 문서 추가 및 수정
#   Test    : 모든 테스트 작업
#   Chore   : 잡다한 일들
#   Deploy  : 배포
# --- FIELD NAME ---
#   BE      : 서버관련 작업
#   FE      : 클라이언트관련 작업
# ---- 세부 규칙 ------
# 제목줄은 명령어로 작성한다.
# 제목줄은 마침표로 끝내지 않는다.
# 본문과 제목에는 빈줄을 넣어서 구분한다.
# 본문에는 "어떻게" 보다는 "왜"와 "무엇을" 설명한다.
# 본문에 목록을 나타낼때는 "- "로 시작한다.
# ------------------

Clone this wiki locally