인턴 활동을 하면서, 여러 TF 팀에 들어가 프로젝트를 진행한 경험이 있다.
(TF란 Task Force로, 빠른 과제 해결을 위해 사람을 모아 임시로 만든 팀이라고 한다.)
우리 팀은 인수인계와 팀원 변경이 빈번해, 누구나 한눈에 알 수 있는 구조의 Git 브렌치 전략이 필요했다..!
사용했던 Git 전략들을 기록 해 보고자 한닷.
우리 팀은 빠른 개발이 필요했기 때문에, 재민이가 말해준 두가지 방법 중 GitHub Flow 방식을 택했다.
그래도 두가지 방법에 대해 간단히 알아보자.
1. Git Flow (표준 방식)
- Main (Master): 실제 사용자에게 서비스 중인 '최종' 코드.
- Develop: 다음 버전을 위해 개발 중인 코드들이 모이는 곳.
- Feature: 기능을 개발하는 브랜치. 개발이 끝나면 Develop에 합친다.
- Release: 배포를 준비하는 단계. 버그 수정만 진행한다.
- Hotfix: 서비스 중인 코드(Main)에 급한 버그가 터졌을 때 즉시 수정하는 용도.
2. GitHub Flow (단순하고 빠름)
- Main 브랜치 하나만 중심으로 잡는다.
- 새로운 기능이 필요하면 브랜치를 만들고, 완료되면 바로 Pull Request (PR)를 보낸다.
- 동료의 리뷰를 거쳐 Main에 합쳐지자마자 바로 배포하는 구조.
Branch 전략
main : 배포 및 기준 브렌치
1. 기능 개발 브렌치 생성하기 ( 서버와 클라이언트 구분 )
- feature/client/기능명 : 프론트엔드 부분에서의 기능 개발 (ex. feature/client/home)
- feature/server/기능명 : 백엔드 부분에서의 기능 개발(ex. feature/server/login)
2. 기능 개발이 완료되면 main으로 PR 보내고 병합하기.
Git 명령어 정리
1. 새로운 브렌치 생성
main 브렌치에서 최신 코드를 가져온 후, 기능 브렌치 만들기
# main으로 이동
git checkout main
# main의 최신 상태 가져오기
git pull origin main
# 새로운 작업 브렌치 생성 및 이동 (-b : 생성 및 이동을 동시에 진행 )
git checkout -b feature/client/home
2. 새로운 기능 개발 완료 후, 현재 작업 브랜치에서 실행하기
# 팀원들의 코드와의 충돌을 방지하기 위해 진행
git pull origin main
# 수정된 파일 목록 확인 (초록색이 저장될 파일들)
git status
# 모든 변경 사항을 저장 대기열에 추가
git add .
# 저장 메시지 작성
git commit -m "유형: 작업 내용 요약(무엇을,왜)"
# 서버로 코드 보내기
git push origin [내 브랜치명]
+ 항상 push 하기 전, git pull origin main을 하는 습관 필요!
+ 현재 브렌치 상태 확인 명령어 (push 하기 전, 확인해보면 좋음!)
# 현재 내가 위치한 브렌치 확인
git branch
# 현재 브렌치, 수정 사항, 커밋할 내용 등 전반적인 상태 알려줌
git status
+ 커밋 메시지 유형
- feat : 새로운 기능 추가
- fix : 버그 수정
- design : 디자인 수정
- refactor : 기능은 그대로지만, 코드 구조를 개선했을 경우
- docs : readme.md와 같은 문서 파일 수정
- chore : 빌드 설정 변경, 패키지 설치 등 코드와 상관 없는 작업
- comment : 주석을 추가하거나 변경했을 경우
3. PR 진행하기 : GitHub에 접속
- 상단에 나타난 [Compare & pull request] 노란색 버튼을 클릭.
- Base: main ← Compare: feature/client/home 상태인지 확인.
- 작업 내용을 간단히 적고 Create pull request를 클릭.
- Merge pull request 버튼을 눌러 main에 최종 합치기.
마무리하며.
팀원들과 개발을 하다보니, 시작하기 전 main을 업데이트 해주는 습관이 매우 중요하다는 것을 알게 되었다.
Github Desktop 만 편리하게? 사용하다가 직접 명령어를 입력하며 관리하니 이해도가 한층 깊어졌고, 협업에 대한 자신감이 올라갔던 경험이 되었던거 같다..!
'개발 > 문제 해결' 카테고리의 다른 글
| Mac에서 MariaDB 설치 후, DBeaver 연동 중 발생한 오류들 (1) | 2026.01.24 |
|---|---|
| Mac에서 발생한 Git의 13K+ 알림 지옥 : 터미널 명령어 정리+ git init (0) | 2026.01.24 |