본문 바로가기

Develop/Git

실무 Git 워크플로우 (CLI 중심)

실무에서 자주 쓰는 Git 워크플로우 흐름(Commit → Push → Pull → Merge)을 단계별로 정리

🛠 실무 Git 워크플로우 (CLI 중심)

1. 🏗️ 프로젝트 시작

# 1) 저장소 초기화 (신규 프로젝트인 경우) 
git init 

# 2) 원격 저장소 연결 (팀 저장소와 연결) 
git remote add origin <원격저장소URL> 

# 3) 원격 브랜치 확인 
git branch -r
 

2. 🌱 브랜치 생성 & 이동

실무에서는 보통 main/master에서 직접 개발하지 않고, 기능(feature) 브랜치를 따서 작업합니다.

# 1) main 브랜치로 이동
git checkout main

# 2) 최신 코드 동기화
git pull origin main

# 3) 기능 브랜치 생성 + 이동
git checkout -b feature/login
 

3. ✏️ 작업 & 커밋

파일을 수정한 후 커밋까지 하는 과정입니다.

# 1) 변경사항 확인
git status

# 2) 변경된 파일 스테이징
git add <파일명>
git add .   # 모든 변경사항 추가

# 3) 커밋
git commit -m "로그인 기능 구현"

4. 🚀 원격 저장소에 푸시

# 최초 푸시 (업스트림 설정)
git push -u origin feature/login

# 이후에는 그냥
git push

5. 🔄 협업 중 코드 동기화

다른 사람이 main에 코드를 먼저 올렸을 경우 내 브랜치에 반영해야 함.

# 1) main 최신화
git checkout main
git pull origin main

# 2) 내 브랜치로 돌아오기
git checkout feature/login

# 3) 내 브랜치에 main 병합
git merge main
# 충돌 발생 시 -> 수정 후 add/commit

팁: 병합 대신 rebase를 쓰면 커밋 이력이 더 깔끔해짐

git rebase main

6. 📥 Pull Request (PR) / Merge

  • GitHub / GitLab / Bitbucket에서는 보통 PR (Pull Request) / MR (Merge Request) 올려서 코드 리뷰 후 main에 합칩니다.
  • 리뷰 없이 직접 merge해야 한다면:
# main으로 이동
git checkout main

# 내 브랜치 병합
git merge feature/login

# 원격 main에 푸시
git push origin main

7. 🧹 브랜치 정리

작업이 끝난 브랜치는 삭제하는 게 관리에 좋습니다.

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

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

✅ 실무 요약 워크플로우

  1. git checkout main && git pull → 최신 main 가져오기
  2. git checkout -b feature/기능명 → 작업 브랜치 생성
  3. git add . && git commit -m "메시지" → 커밋
  4. git push -u origin feature/기능명 → 원격 푸시
  5. git merge main or git rebase main → 최신 main 반영
  6. PR 생성 → 리뷰 → main에 merge
  7. 작업 끝나면 브랜치 삭제