Git 브랜치 & 이슈 관리 & 깃 명령어 정리

105·2025년 8월 5일
1

5팀 내부 작업 흐름을 정리한 포스팅입니다.

✅ 1. 브랜치 전략

main            ← 배포용
develop         ← 통합 개발용
feature/*       ← 기능 개발
fix/*           ← 버그 수정
style/*         ← 스타일 변경
refactor/*      ← 코드 구조 변경
docs/*          ← 문서/README 등

예시

  • feature/login → 로그인 기능 개발
  • fix/header → 헤더 버그 수정

✅ 2. GitHub 이슈 관리

이슈는 작업 단위 기준 + 의미 중심으로 나눕니다.
관련 브랜치명, PR 제목, 커밋 메시지와 이슈 번호(#)를 연결합니다.

*이슈 & PR 템플릿 등록해두기(v)

  1. 이슈 생성 레포지토리 > 이슈 탭 > New issue
  1. 이슈 유형 선택

    • 기능 추가/개선 → Feature request
    • 버그 수정 → Bug report
  2. 이슈 내용 작성

    제목과 설명을 적고 라벨을 선택합니다. (수정 가능)

    🎯 이슈 제목 예시 (그저 예시일 뿐..)

    이슈 번호제목라벨
    #1Header 레이아웃 구현feature, UI
    #2글로벌 테마 스타일 적용style
    #3About 섹션 내용 작성 및 정렬feature
    #4이미지 lazy-load 적용refactor, performance
    #5README 기본 작성docs

    라벨은 나중에 작업 추적에 도움 되니 꼭 사용해주세요.

    (필요한 라벨은 생성해두었습니다. 작업 중 다른 라벨이 필요하다면 추가로 생성해주세요!)


✅ 3. 브랜치 생성 및 작업

  1. 브랜치 생성

    작업할 이슈로 들어가 브랜치를 생성합니다.

    브랜치를 생성하면 명령어 팝업이 뜹니다. 그대로 복사해서 로컬로 브랜치를 가져옵니다.

  2. 커밋 시 이슈 연결

    커밋할 때 작업 중인 이슈 넘버를 적어주세요. (feat: About 섹션 구현 (#3))

    → husky 설정해두었습니다.

  3. 푸시 전 최신 dev 반영

    작업을 완료한 후 푸시 하기 전에 dev 브랜치로 이동해서 원격 저장소에 추가된 작업이 있는지 확인합니다.

    git switch dev
    git pull origin dev
    git switch feat/~~~
    git rebase dev

    이때 충돌이 발생할 수 있지만 차근차근 해결하시면 됩니다…

✅ 4. push & merge

  1. 푸시 및 PR 생성

    git push origin feat/~~~

    푸시 후 레포지토리로 들어가면 Compare & pull request 라는 버튼이 뜹니다.

    클릭 후 pr을 작성합니다.

    base 브랜치 제대로 선택했는지 다시 한번 확인하기 !!!!

    reviewers 지정하고 Create pull request 를 눌러 pr을 생성합니다.

  2. Merge 및 브랜치 삭제

    코드 리뷰 후 Merge pull request 버튼 클릭

    Delete branch 버튼을 눌러 브랜치를 삭제합니다.

    해당 이슈로 돌아가 이슈를 닫아주세요.

  3. 로컬 정리

    git checkout dev (상위 브랜치로 이동)
    git pull origin dev (최신 상태로 업뎃)
    git branch -d feat/~~ (브랜치 삭제)

💥 전체 작업 흐름 총 정리

  1. 이슈 생성
  2. 이슈에서 브랜치 생성
  3. 로컬에서 브랜치 체크아웃
  4. 기능 개발 후 add → commit (제목에 이슈 넘버 적기)
  5. git switch dev
  6. git pull origin dev (origin(원격 저장소)에 추가된 작업이 있는지 확인하기 위해 pull)
  7. git switch feat/1
  8. git rebase dev
  9. git push origin feat/1
  10. 레포 들어가면 Compare & pull request 라는 버튼이 뜸 → merge
  11. git checkout dev
    git pull origin dev
  12. git branch -d feat/1

🛠 Git 명령어 정리

1. 브랜치 관련

명령어설명예시
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

2. 원격 저장소 관련

명령어설명예시
git fetch원격 저장소의 최신 정보 가져오기(코드 병합 없음)git fetch origin
git pull origin <브랜치명>원격 브랜치 가져와 병합git pull origin dev
git push origin <브랜치명>로컬 브랜치를 원격으로 푸시git push origin feat/login

3. 커밋 관련

명령어설명예시
git add .변경된 모든 파일 stagegit add .
git add <파일명>특정 파일만 stagegit 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 은 가능한 사용할 일 없도록 하는 것이.. 좋습니다..

4. 병합(Rebase & Merge)

명령어설명예시
git merge <브랜치명>현재 브랜치에 다른 브랜치 병합git merge dev
git rebase <브랜치명>현재 브랜치를 다른 브랜치 기반으로 재정렬git rebase dev
git rebase --continuerebase 충돌 해결 후 진행git rebase --continue
git rebase --abortrebase 중단git rebase --abort

5. 상태 & 로그 확인

명령어설명예시
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
profile
아무로, 갑니다!

0개의 댓글