🚀

Commit vs Push: 로컬과 원격의 차이

로컬 저장소와 원격 저장소 간의 데이터 흐름을 이해해보세요

진행 상황1/4

파일을 수정하고 스테이징하세요

Working Directory

현재 작업 중인 파일들

index.jsModified

Staging Area

커밋할 준비가 된 파일들

style.cssStaged

Local Repository

로컬 저장소

README.mdCommitted

🏠 Local Repository

내 컴퓨터의 Git 저장소

a1b2c3d2시간 전

Initial commit

by DeveloperREADME.md

☁️ Remote Repository (GitHub/GitLab)

팀과 공유되는 원격 저장소

a1b2c3d2시간 전

Initial commit

by DeveloperREADME.md

🎯 핵심 개념 비교

💾git commit

목적

스테이징 영역의 변경사항을 로컬 저장소에 영구적으로 저장

범위

내 컴퓨터의 Git 저장소에만 영향

특징

  • • 인터넷 연결 불필요
  • • 빠른 실행 속도
  • • 로컬에서 히스토리 관리
  • • 언제든지 수정/되돌리기 가능

🚀git push

목적

로컬 저장소의 커밋들을 원격 저장소에 업로드하여 팀과 공유

범위

원격 저장소와 팀 전체에 영향

특징

  • • 인터넷 연결 필수
  • • 네트워크 속도에 따라 다름
  • • 팀과 코드 공유
  • • 백업 및 협업 가능

📋 실무 워크플로우 시나리오

🏃‍♂️혼자 작업할 때

💻

자주 커밋
작은 단위로 나누어 로컬에 저장

🔄

논리적 단위로 푸시
기능이 완성되면 원격에 업로드

☁️

백업 목적
하루 작업 끝에는 반드시 푸시

👥팀 협업할 때

📥

1. Pull
최신 변경사항 가져오기

💾

2. Commit
내 작업 로컬에 저장

🚀

3. Push
팀과 변경사항 공유

🔄

4. 반복
지속적인 동기화

💡Commit & Push 베스트 프랙티스

📝 커밋 메시지 작성법

feat: 사용자 로그인 기능 추가

✅ 명확하고 구체적인 설명

수정함

❌ 모호하고 불분명한 메시지

⚡ 주요 원칙들

  • 커밋은 자주, 푸시는 의미있는 단위로
  • 원자적 커밋: 하나의 논리적 변경사항만 포함
  • 테스트 통과 후 푸시: 팀에 영향 최소화
  • 의미있는 커밋 메시지: 나중에 히스토리 추적 용이
  • 정기적인 푸시: 백업과 협업을 위해