Git

팀 협업 02. 실무 Git 팀 운영 정책 및 컨벤션 헌장

브랜치 보호 규칙, PR 머지 3대 전략 비교(Squash/Rebase/Merge), 커밋 컨벤션과 보안 시크릿 키 방어 정책

· 1min read · 3 views
팀 협업 02. 실무 Git 팀 운영 정책 및 컨벤션 헌장

핵심 요약

Squash/Rebase/Merge 등 PR 머지 3대 전략 비교, 브랜치 보호 규칙, Conventional Commits 컨벤션 및 pre-commit 보안 키 유출 방지 정책

개발자가 5명만 넘어가도 팀 내에 명확한 'Git 룰(Rule)'이 없으면 브랜치가 뒤엉키고, 누가 무슨 코드를 고쳤는지 추적할 수 없는 혼돈 상태가 됩니다. 이 문서는 팀이 구성될 때 반드시 합의하고 문서화해야 하는 4대 핵심 운영 정책을 정의합니다.


1. PR 머지 전략 3종 비교 및 팀 가이드라인

GitHub의 PR 머지 버튼에는 3가지 옵션이 있습니다. 팀 성격에 맞게 하나로 통일하는 것이 좋습니다.

머지 방식동작 방식장단점 및 추천 상황
Squash and merge ⭐ 가장 추천브랜치 안의 모든 커밋(자잘한 오타 수정, WIP 등)을 단 1개의 깔끔한 커밋으로 압축하여 develop에 합침장점: develop 히스토리가 극도로 깨끗해짐.
추천: 대부분의 기능(feature) 브랜치 머지 시 기본값
Create a merge commit (--no-ff)브랜치의 모든 커밋을 보존하면서 두 브랜치를 잇는 머지 커밋을 생성장점: 상세한 과거 작업 흐름이 남음.
추천: release 브랜치나 hotfix를 main에 합칠 때
Rebase and merge각각의 커밋을 머지 커밋 없이 그대로 대상 브랜치 뒤에 이어 붙임단점: 커밋 단위가 이미 완벽하게 정돈되어 있지 않으면 지저분한 커밋들이 develop에 그대로 노출됨

2. 브랜치 보호 및 PR 승인 정책

  • Direct Push 차단: main, staging, develop 브랜치는 오직 관리자라도 직푸시할 수 없도록 강제합니다.
  • 최소 승인(Approval) 수: 기본 1명(중요 코어 모듈은 최소 2명)의 승인을 받아야 머지가 활성화됩니다.
  • Stale Reviews 무효화: 리뷰어가 승인한 뒤 작업자가 코드를 추가로 푸시하면, 이전 승인이 자동으로 취소되어 재검토를 거치도록 설정합니다.

3. 커밋 메시지 및 이슈 트래커 연동 컨벤션

커밋 메시지는 미래의 동료(그리고 6개월 뒤의 나)를 위한 편지입니다.

[ 커밋 메시지 표준 구조 ]

<타입>: <제목> (50자 이내, 개조식으로 명확하게)

<본문> (선택 사항: '어떻게'보다 '왜(Why)' 수정했는지 배경 설명)

<꼬리말> (선택 사항: 연관 이슈 티켓 번호 연결)

실제 작성 예시

feat: 소셜 로그인 토큰 만료 시 자동 갱신 로직 추가

기존에는 토큰이 만료되면 401 에러와 함께 로그아웃되었으나,
사용자 경험 개선을 위해 Refresh Token을 이용한 자동 재발급 로직을 추가함.

Closes #142, Ref #98

4. 보안 시크릿 키 유출 방지 (Pre-commit Hook)

실수로 API 키나 비밀번호를 커밋하는 것을 막기 위해, 커밋 실행 전 자동으로 검사하는 pre-commit 훅을 도입합니다.

# husky 또는 pre-commit 도구를 통해 커밋 시 .env 유입 자동 차단
npx husky add .husky/pre-commit "npm test && git-secrets --pre_commit_hook"

Related Docs

Comments (0)

No comments yet. Be the first to comment!

Leave a Comment

로그인 후 댓글을 남길 수 있습니다.