Notice
Recent Posts
Recent Comments
Link
Ssul's Blog
Git 4단계 흐름 이해하기 본문
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>
'dev > 까먹지마' 카테고리의 다른 글
SwiftUI에서 Markdown(마크다운) 표현하기 (0) | 2025.04.24 |
---|---|
swiftUI @StateObject, @ObservedObject, @EnvironmentObject 정리 (0) | 2025.04.18 |
Django Serializer 이해하기(직렬화, 역직렬화) (0) | 2024.08.16 |
AWS lambda에서 Layer구성(맥 실리콘-M1에서) (0) | 2024.08.08 |
도커(Docker)에서 쿠버네티스(k8s)까지: #1. Docker이해하기 (0) | 2024.05.23 |