본문 바로가기

개발일지

[Git] Git 협업 - Branch, Issue, Project, Code Review, WebHook

동아리에서 여름방학 앱 프로젝트를 시작하면서, 깃 협업에 대한 공부를 해보았다.

 

1. 브랜치 관리

git flow 협업 방식

feature : 새로운 기능 개발
네이밍) feature/7-kakaoLogin

develop : feature에서 기능 개발이 끝난 후 develop 에 merge

release : 배포 준비가 되면 develop 브랜치에서 release 브랜치로 merge
네이밍) release/v1.1

hotfix : master 브랜치로 배포 후 버그가 생기면 긴급 수정
네이밍) hotfix/v1.0.1

 

 

2. 코드리뷰

https://mine-it-record.tistory.com/692

위 글을 참고하여, Pull Request시 최소 2명이 코드 리뷰를 남겨야 PR 할 수 있도록 설정할 수 있습니다.

* Pro 요금제로 업그레이드 해야 하는듯 함

 

Comment : 자유롭게 다는 리뷰

Approve : 리뷰어의 승인 → Merge OK

Request changes : 코드 변경이 필요한 경우

 

 

3. 이슈 관리

Issue 프로젝트의 기획, 작업, 개선 사항, 버그 수정, 새로 추가될 기능 등의 모든 것

GitHub에 모든 활동에 대한 이슈를 등록하고, 그것을 기반으로 작업을 진행한다

  • Assigness : 담당자
  • Labels : 해당 작업 유형 [커스텀 가능]
  • Project : 연결할 프로젝트
  • Milestone : 프로젝트 목표 지점 [따로 생성해야 함]

 

Project 작업의 진행도를 한 눈에 볼 수 있고, 이슈들을 하나의 task로 나타내어 작업을 관리할 수 있는 메뉴

보통은 칸반 보드 형태로 사용한다

 

 

https://velog.io/@dohaeng0/GitHub-Project-Issue-%ED%99%9C%EC%9A%A9

→ 큼직큼직한 기능들은 (ex: 마이페이지 전체 완료) Milestone 만들어서, 작은 단위로 issue 관리

→ or, 주차별 Milestone 관리

4. 커밋 컨벤션

[Feat] : 새로운 기능 추가

[Fix] : 버그 수정

[Docs] : 문서 수정

[Style] : 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우

[Refactor] : 코드 리펙토링

[Test] : 테스트(테스트 코드 추가, 수정, 삭제, 비즈니스 로직에 변경이 없는 경우)

[Chore] : 위에 걸리지 않는 기타 변경사항 (빌드 스크립트 수정, assets image, 패키지 매니저 등)

[Comment] : 필요한 주석 추가 및 변경

[Rename] : 파일 혹은 폴더명 수정하거나 옮기는 경우

[Remove] : 파일을 삭제하는 작업만 수행하는 경우

 

5. WebHook

https://eddori.tistory.com/6

github와 discord를 webhook으로 연동하여,

push 활동에 대한 알림을 discord로 받아볼 수 있게 설정하였습니다.