Ssul's Blog

Git 4단계 흐름 이해하기 본문

dev/까먹지마

Git 4단계 흐름 이해하기

Ssul 2025. 9. 15. 17:10

Git은 단순히 "저장"하는 도구가 아니라, 변경 이력을 단계별로 관리하는 시스템입니다.
개발자가 코드를 수정하고 협업할 때 반드시 거치는 4단계를 먼저 이해해봅시다.

1) 워킹 디렉토리 (Working Directory)

  • 내 컴퓨터에서 직접 수정 중인 파일들이 있는 곳입니다.
  • 아직 Git에 반영되지 않은 상태라 git status를 치면 modified 로 표시됩니다.

👉 예시

 
git status

2) 스테이징 영역 (Staging Area)

  • 여러 파일을 수정했더라도, 이번 커밋에 포함할 파일만 골라낼 수 있는 임시 대기실입니다.
  • git add 명령으로 워킹 디렉토리에서 스테이징 영역으로 옮깁니다.

👉 예시

 
git add file.txt    # 특정 파일만
git add .           # 모든 변경사항

3) 커밋 (Commit / Local Repository)

  • 스테이징된 파일들을 하나의 스냅샷(버전) 으로 남깁니다.
  • 메시지를 달아 추후 변경 내역을 추적할 수 있습니다.

👉 예시

git commit -m "feat: 로그인 API 연동"

4) 푸시 (Push / Remote Repository)

  • 로컬에서 만든 커밋을 원격 저장소(GitHub, GitLab 등)에 업로드합니다.
  • 협업 시 팀원들이 내 변경 내역을 볼 수 있게 됩니다.

👉 예시

 
git push origin main
git push origin feature/login

 

 

 

TIP. 실무에서 자주쓰는 git best 3

🥇 1) git diff

  • 변경 내용을 세밀하게 확인할 때 사용합니다.
  • 코드 리뷰 전, 충돌 해결 시 필수!
git diff                 # 워킹 디렉토리 ↔ 스테이징
git diff --staged        # 스테이징 ↔ 최신 커밋
git diff main..feature   # 브랜치 간 차이

 

 

🥈 2) git rebase

  • 브랜치를 최신 상태로 맞출 때 사용합니다.
  • merge보다 히스토리를 깔끔하게 유지할 수 있어 협업에서 선호됩니다.
git fetch origin
git rebase origin/main

 

 

🥉 3) git cherry-pick

  • 특정 커밋만 선택해서 내 브랜치에 적용하고 싶을 때 사용합니다.
  • 긴급 패치나 hotfix 상황에서 특히 유용합니다.
git cherry-pick <commit_id>