PLOD

[git] GitHub Commit & Code Review 전략 본문

대외 활동 및 IT 지식

[git] GitHub Commit & Code Review 전략

훌룽이 2026. 6. 4. 09:58

 

현업에서 진행하는 다양한 프로젝트에서는 기능(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 생성 후 코드 리뷰를 진행합니다.

리뷰 과정

  1. 리뷰어가 코드 확인
  2. 개선 의견(Comment) 작성
  3. 개발자가 수정
  4. 수정 Commit 및 Push
  5. Resolve Conversation 처리
  6. 추가 리뷰 진행
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
Comments