관리 메뉴

공부 기록장 💻

[Git/Github] Git Branch Strategy와 Commit Convention 정리 본문

# Tech Studies/Git • Github

[Git/Github] Git Branch Strategy와 Commit Convention 정리

dream_for 2022. 9. 7. 16:35

Branch strategy

 

Branch Name 설명

main 초기 세팅
develop 로컬 develop merge 브랜치
개발자1-dev 개발자1 로컬 develop 브랜치
개발자2-dev 개발자2 로컬 devleop 브랜치
local-develop_feature/#issue 각자 기능 추가하는 브랜치 (#issue - 몇번째 PR인지)

 

Git workflow

 

  • local - feature에서 각자 기능 작업
  • 작업 완료 후 local - develop에 PR 후 merge
  • 이후 remote - develop으로 PR
    • 서로의 코드 리뷰 후 Confirm 받고 Merge
  • remote - develop에 Merge 될 때 마다 모든 팀원 remote - devleop pull 받

 

Branch 명령어 정리

 

$ git checkout -b <브랜치 이름> // 브랜치 생성 및 생성된 브랜치로 전환
$ git branch // 현재 파일과 연결된 브랜치 목록

$ git checkout <브랜치 이름> // 브랜치 전환
$ git branch <브랜치 이름> // 브랜치 생성
$ git branch -d <브랜치 이름> // 브랜치 삭제

$ git push origin <브랜치 이름> // 브랜치에 코드 push

$ git branch -m <이전 브랜치이름> <새로운 브랜치 이름> // 브랜치 이름 변경

// 브랜치 merge 하기 
$ git checkout <브랜치 이름>
$ git merge <브랜치 이름>

// main 브랜치에 A라는 브랜치를 merge하는 경우
$ git checkout master
$ git merge A

// 브랜치 비교
$ git diff <브랜치 이름> <브랜치이름>

 

Commit Convention

  • type : subject ( commit의 type : 제목의 형태)
  • 과거 시제 사용하지 않고 명령어로 작성 (Fixed → Fix, Added → Add)Type Subject

 

feat 새로운 기능 추가
fix 버그 수정
!BREAKING CHANGE 커다란 API 변경의 경우 (controller router 변경 등)
!HOTFIX 급하게 치명적인 버그를 고쳐야 하는 경우
docs 문서 수정 (readme file)
style 코드 포매팅, 세미콜론 누락, 코드 변경이 없는 경우
comment 필요한 주석 추가 및 변경
refactor 코드 리팩토링
rename 파일 혹은 폴더명 수정 또는 옮기는 작업
remove 파일 삭제하는 작업만 수행한 경우
test 테스트 코드, 리팩토링 테스트 코드 추가
chore 빌드 업무 수정, 패키지 매니저 수정 (크게 중요하지 않은 작업)


 

 

 


[참고자료]

Git - 커밋 메시지 컨벤션

728x90
반응형
Comments