| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
- Sort
- 99클럽 #코딩테스트준비 #개발자취업 #항해99 #til
- mysql
- 가상컴퓨팅
- Algorithm
- python
- js
- DB
- 개발자취업
- 크루스칼
- til
- 코딩테스트준비
- 정렬
- dbms
- 위상정렬
- Docker Compose
- generic class
- 항해99
- JPA
- 자료구조
- 코딩테스트
- sql
- spring
- 알고리즘
- jsp
- Java
- 공개키 암호화
- 99클럽
- 코테
- javascript
- Today
- Total
PLOD
[git] GitHub Commit & Code Review 전략 본문

현업에서 진행하는 다양한 프로젝트에서는 기능(API) 단위로 브랜치를 생성하고, Pull Request(PR)를 통해 코드 리뷰를 진행한 뒤 main 브랜치에 반영하는 방식으로 개발을 진행합니다. (물론 회사나 상황에 따라서 SVN이나 다른 형상관리 tool을 사용하는 경우도 있지만 형상관리는 대동소이하기 때문에 git으로 설명드립니다)
1. Issue 생성
새로운 기능 개발이나 버그 수정이 필요한 경우 먼저 GitHub에서 Issue를 생성합니다.
예시)
- 회원가입 API 개발
- 멘토 조회 기능 개발
- 채팅 메시지 저장 기능 개발
- 로그인 예외 처리 개선
Issue를 생성하면 작업 목적과 범위를 명확하게 관리할 수 있습니다.
2. 브랜치 생성 및 개발
Issue 생성 후 해당 작업 전용 브랜치를 생성합니다.
브랜치 네이밍 규칙
예시) API 개발
- feature/user-signup
- feature/mentor-search
- feature/chat-room
예시) 버그 수정
- bugfix/login-error
- bugfix/payment-validation
예시) 수정 개발
- refactor/user-service
브랜치 생성
IDE 터미널 내에서 다음 명령을 통해서 브랜치를 생성 할 수 있습니다.
git checkout -b 브랜치명
생성한 브랜치에서 기능 개발을 진행합니다.
3. Commit
기능 구현이 완료되면 변경 사항을 Commit 합니다.
git add .
git commit -m "커밋 메시지"
Commit Message Convention
| 타입 | 설명 |
| feat | 새로운 기능 추가 |
| fix | 버그 수정 |
| refactor | 리팩토링 |
| docs | 문서 수정 |
| test | 테스트 코드 작성 |
| chore | 기타 설정 변경 |
commit 메세지는 다음과 같이 작성합니다.
예시)
feat: 회원가입 API 구현
feat: 멘토 조회 API 추가
fix: 로그인 예외 처리 수정
refactor: UserService 구조 개선
docs: README 수정
4. 원격 저장소 Push
작업한 브랜치를 GitHub에 업로드합니다.
git push origin 브랜치명
5. Pull Request 생성
GitHub에서(Intellij 같은 IDE는 Pull Request 작성 기능을 지원해줌) Pull Request(PR)를 생성합니다.
PR 제목 예시
- [Feature] 회원가입 API 구현
- [Feature] 멘토 검색 API 개발
- [Fix] 로그인 오류 수정
PR 내용 예시
## 작업 내용
- 회원가입 API 구현
- 비밀번호 암호화 적용
- 이메일 중복 체크 기능 추가
## 테스트
- 회원가입 성공 테스트
- 이메일 중복 테스트 완료
6. Code Review 진행
PR 생성 후 코드 리뷰를 진행합니다.
리뷰 과정
- 리뷰어가 코드 확인
- 개선 의견(Comment) 작성
- 개발자가 수정
- 수정 Commit 및 Push
- Resolve Conversation 처리
- 추가 리뷰 진행
git add .
git commit -m "커밋메세지"
git push origin 브랜치명
위 과정을 반복하여 코드 품질을 개선합니다.
7. Merge
모든 리뷰가 완료되면 main 브랜치로 Merge 합니다. GitHub에서
Merge Pull Request
를 선택하여 반영합니다.
8. 브랜치 삭제
Merge 완료 후 사용한 브랜치는 삭제합니다.
로컬 브랜치 삭제
git checkout main
git branch -d 브랜치명
만약에 브랜치가 삭제되지 않는다면 강제 삭제를 권유하진 않지만 강제 삭제 할 수 있다.
강제 삭제
git branch -D 브랜치명
원격 브랜치 정보 정리
git fetch --prune
삭제된 원격 브랜치 정보를 로컬에서도 정리합니다.
9. Issue 종료
기능이 정상적으로 배포되었거나 Merge가 완료되면 Issue를 종료합니다.
Close Issue
Issue와 PR을 연결해두면 Merge 시 자동으로 Issue가 종료됩니다.
예시)
Closes #12'대외 활동 및 IT 지식' 카테고리의 다른 글
| [Playlist] 어느날, 낯선이가 내 방 거울 속에서 나를 바라보고 있었다. (0) | 2024.08.04 |
|---|---|
| [Playlist] 사람은 무엇으로 사는가 (0) | 2023.11.11 |
| [Playlist] 햇빛이 선명하게 나뭇잎을 핥고 있었다 (0) | 2023.10.13 |
| [OPIC] OPIC 시험 준비 및 회고록 (0) | 2023.09.05 |
| [Playlist] 내 고향에는 이제 눈이 내리지 않는다 (0) | 2023.08.07 |