5팀 내부 작업 흐름을 정리한 포스팅입니다.
main ← 배포용
develop ← 통합 개발용
feature/* ← 기능 개발
fix/* ← 버그 수정
style/* ← 스타일 변경
refactor/* ← 코드 구조 변경
docs/* ← 문서/README 등
예시
feature/login
→ 로그인 기능 개발fix/header
→ 헤더 버그 수정이슈는 작업 단위 기준 + 의미 중심으로 나눕니다.
관련 브랜치명, PR 제목, 커밋 메시지와 이슈 번호(#)를 연결합니다.
*이슈 & PR 템플릿 등록해두기(v)
이슈 유형 선택
이슈 내용 작성
제목과 설명을 적고 라벨을 선택합니다. (수정 가능)
이슈 번호 | 제목 | 라벨 |
---|---|---|
#1 | Header 레이아웃 구현 | feature , UI |
#2 | 글로벌 테마 스타일 적용 | style |
#3 | About 섹션 내용 작성 및 정렬 | feature |
#4 | 이미지 lazy-load 적용 | refactor , performance |
#5 | README 기본 작성 | docs |
라벨은 나중에 작업 추적에 도움 되니 꼭 사용해주세요.
(필요한 라벨은 생성해두었습니다. 작업 중 다른 라벨이 필요하다면 추가로 생성해주세요!)
브랜치 생성
작업할 이슈로 들어가 브랜치를 생성합니다.
브랜치를 생성하면 명령어 팝업이 뜹니다. 그대로 복사해서 로컬로 브랜치를 가져옵니다.
커밋 시 이슈 연결
커밋할 때 작업 중인 이슈 넘버를 적어주세요. (feat: About 섹션 구현 (#3)
)
→ husky 설정해두었습니다.
푸시 전 최신 dev 반영
작업을 완료한 후 푸시 하기 전에 dev 브랜치로 이동해서 원격 저장소에 추가된 작업이 있는지 확인합니다.
git switch dev
git pull origin dev
git switch feat/~~~
git rebase dev
이때 충돌이 발생할 수 있지만 차근차근 해결하시면 됩니다…
푸시 및 PR 생성
git push origin feat/~~~
푸시 후 레포지토리로 들어가면 Compare & pull request
라는 버튼이 뜹니다.
클릭 후 pr을 작성합니다.
base 브랜치 제대로 선택했는지 다시 한번 확인하기 !!!!
reviewers 지정하고 Create pull request
를 눌러 pr을 생성합니다.
Merge 및 브랜치 삭제
코드 리뷰 후 Merge pull request
버튼 클릭
Delete branch
버튼을 눌러 브랜치를 삭제합니다.
해당 이슈로 돌아가 이슈를 닫아주세요.
로컬 정리
git checkout dev (상위 브랜치로 이동)
git pull origin dev (최신 상태로 업뎃)
git branch -d feat/~~ (브랜치 삭제)
명령어 | 설명 | 예시 |
---|---|---|
git branch | 로컬 브랜치 목록 확인 | git branch |
git branch -r | 원격 브랜치 목록 확인 | git branch -r |
git checkout -b <브랜치명> <기준브랜치> | 새 브랜치 생성 후 이동 | git checkout -b feat/login dev |
git switch -c <브랜치명> | 새 브랜치 생성 후 이동 (권장) | git switch -c feat/login |
git switch <브랜치명> | 브랜치 전환 | git switch dev |
git branch -d <브랜치명> | 로컬 브랜치 삭제 | git branch -d feat/login |
git push origin --delete <브랜치명> | 원격 브랜치 삭제 | git push origin --delete feat/login |
명령어 | 설명 | 예시 |
---|---|---|
git fetch | 원격 저장소의 최신 정보 가져오기(코드 병합 없음) | git fetch origin |
git pull origin <브랜치명> | 원격 브랜치 가져와 병합 | git pull origin dev |
git push origin <브랜치명> | 로컬 브랜치를 원격으로 푸시 | git push origin feat/login |
명령어 | 설명 | 예시 |
---|---|---|
git add . | 변경된 모든 파일 stage | git add . |
git add <파일명> | 특정 파일만 stage | git add src/App.tsx |
git commit -m "<메시지>" | 커밋 생성 | git commit -m "feat: 로그인 기능 추가 (#3)" |
git commit --amend | 마지막 커밋 수정 | git commit --amend |
git reset --soft HEAD~1 | 커밋 되돌리기 (변경 사항 유지) | git reset --soft HEAD~1 |
git reset --hard HEAD~1 | 커밋 되돌리기 (변경 사항 삭제) | git reset --hard HEAD~1 |
git reset --hard HEAD~1
은 가능한 사용할 일 없도록 하는 것이.. 좋습니다..
명령어 | 설명 | 예시 |
---|---|---|
git merge <브랜치명> | 현재 브랜치에 다른 브랜치 병합 | git merge dev |
git rebase <브랜치명> | 현재 브랜치를 다른 브랜치 기반으로 재정렬 | git rebase dev |
git rebase --continue | rebase 충돌 해결 후 진행 | git rebase --continue |
git rebase --abort | rebase 중단 | git rebase --abort |
명령어 | 설명 | 예시 |
---|---|---|
git status | 현재 변경 사항 확인 | git status |
git log | 커밋 로그 확인 | git log |
git log --oneline | 한 줄 요약 로그 | git log --oneline |
git log --graph --oneline --all | 브랜치 그래프 보기 | git log --graph --oneline --all |
git diff | 변경 내용 비교 | git diff |