🚀
Commit vs Push: 로컬과 원격의 차이
로컬 저장소와 원격 저장소 간의 데이터 흐름을 이해해보세요
진행 상황1/4
파일을 수정하고 스테이징하세요
Working Directory
현재 작업 중인 파일들
index.jsModified
Staging Area
커밋할 준비가 된 파일들
style.cssStaged
Local Repository
로컬 저장소
README.mdCommitted
🏠 Local Repository
내 컴퓨터의 Git 저장소
a1b2c3d2시간 전
Initial commit
by Developer • README.md
☁️ Remote Repository (GitHub/GitLab)
팀과 공유되는 원격 저장소
a1b2c3d2시간 전
Initial commit
by Developer • README.md
🎯 핵심 개념 비교
💾git commit
목적
스테이징 영역의 변경사항을 로컬 저장소에 영구적으로 저장
범위
내 컴퓨터의 Git 저장소에만 영향
특징
- • 인터넷 연결 불필요
- • 빠른 실행 속도
- • 로컬에서 히스토리 관리
- • 언제든지 수정/되돌리기 가능
🚀git push
목적
로컬 저장소의 커밋들을 원격 저장소에 업로드하여 팀과 공유
범위
원격 저장소와 팀 전체에 영향
특징
- • 인터넷 연결 필수
- • 네트워크 속도에 따라 다름
- • 팀과 코드 공유
- • 백업 및 협업 가능
📋 실무 워크플로우 시나리오
🏃♂️혼자 작업할 때
💻
자주 커밋
작은 단위로 나누어 로컬에 저장
🔄
논리적 단위로 푸시
기능이 완성되면 원격에 업로드
☁️
백업 목적
하루 작업 끝에는 반드시 푸시
👥팀 협업할 때
📥
1. Pull
최신 변경사항 가져오기
💾
2. Commit
내 작업 로컬에 저장
🚀
3. Push
팀과 변경사항 공유
🔄
4. 반복
지속적인 동기화
💡Commit & Push 베스트 프랙티스
📝 커밋 메시지 작성법
feat: 사용자 로그인 기능 추가
✅ 명확하고 구체적인 설명
수정함
❌ 모호하고 불분명한 메시지
⚡ 주요 원칙들
- • 커밋은 자주, 푸시는 의미있는 단위로
- • 원자적 커밋: 하나의 논리적 변경사항만 포함
- • 테스트 통과 후 푸시: 팀에 영향 최소화
- • 의미있는 커밋 메시지: 나중에 히스토리 추적 용이
- • 정기적인 푸시: 백업과 협업을 위해