📌 Git을 활용한 형상 관리 예제 코드

Git의 올바른 워크플로우는 기능별 브랜치를 생성하고 코드 리뷰 후 병합(Merge)하는 방식이다.
이 방식을 Git Flow 또는 GitHub Flow라고 부르며, 협업 시 가장 많이 사용됨.


🔹 1. 기능별 브랜치 생성 (Feature Branch)

 
# 기능 개발을 위한 새로운 브랜치 생성 
git checkout -b feature/new-login

📌 설명:

  • feature/new-login 브랜치를 생성하여 로그인 기능을 개발하는 브랜치.
  • 기존 main 브랜치에서 직접 개발하지 않고, 기능별 브랜치를 따로 관리.

🔹 2. 작업 후 변경 사항 커밋

 
# 변경 사항을 스테이징 (추적할 파일 추가) 
git add . 

# 커밋 (의미 있는 커밋 메시지 작성) 
git commit -m "feat: 로그인 페이지 UI 구현"

📌 설명:

  • git add . → 변경된 모든 파일을 스테이징
  • git commit -m "feat: 로그인 페이지 UI 구현" → 명확한 커밋 메시지 작성 (feat, fix, refactor 등 사용)

🔹 3. 원격 저장소에 푸시

# 원격 저장소(GitHub, GitLab 등)로 브랜치 푸시 
git push origin feature/new-login

📌 설명:

  • 원격 저장소로 브랜치를 업로드하여 다른 팀원들과 공유할 수 있음.

🔹 4. Pull Request (PR) 생성 & 코드 리뷰

  • GitHub, GitLab에서 PR(Pull Request) 생성 후 코드 리뷰 요청
  • 리뷰어(팀원, 리드 개발자)가 코드 검토 후 수정 요청 가능

Pull Request 예제

# Pull Request 제목 feat: 로그인 페이지 UI 구현 
# 변경 사항 요약 - 로그인 폼 스타일링 추가 
- 이메일, 비밀번호 입력 필드 구현 
- 로그인 버튼 클릭 이벤트 처리 

# 테스트 방법 
1. `/login` 페이지로 이동 
2. 이메일과 비밀번호 입력 후 버튼 클릭 시 콘솔 출력 확인
 

🔹 5. 리뷰 후 main 브랜치에 머지

# main 브랜치로 이동 
git checkout main 

# 최신 코드 반영 
git pull origin main 

# 기능 브랜치를 병합 
git merge feature/new-login

📌 설명:

  • 코드 리뷰가 완료되면 main 브랜치로 이동 후 병합(Merge).
  • Pull Request 기반으로 머지하면 GitHub에서 자동 처리됨.

GitHub에서 PR을 머지할 때 "Squash & Merge" 방식을 사용하면 커밋 히스토리를 정리 가능.


🔹 6. 머지 완료 후 브랜치 삭제

 
# 로컬 브랜치 삭제 
git branch -d feature/new-login 

# 원격 브랜치 삭제 
git push origin --delete feature/new-login

📌 설명:

  • 기능 개발이 완료되었으므로 기능 브랜치 정리.

🔹 결론

Git 협업에서는 기능별 브랜치를 생성하고, 코드 리뷰 후 main 브랜치에 병합하는 것이 가장 효율적인 방법.
GitHub Flow, Git Flow 등의 워크플로우를 활용하여 버전 관리 체계를 유지하는 것이 중요.
Pull Request(PR)를 활용하여 팀원 간 코드 품질을 유지하고 협업을 원활하게 진행.

+ Recent posts