Git

초급 06. Push와 Pull 동기화 실무 가이드

fetch와 pull의 결정적 차이, upstream(-u) 추적 설정의 비밀, 재택과 사무실 환경 간의 안전한 작업 동기화 실무 시나리오

· 1min read · 44 views
초급 06. Push와 Pull 동기화 실무 가이드

핵심 요약

원격 추적 upstream(-u) 설정의 원리, 안전한 fetch vs pull의 차이점 및 재택근무와 회사 PC 간의 원격 작업 동기화 실무 사이클

로컬에서 아무리 커밋을 많이 만들어도 원격 저장소(GitHub)에 올리지 않으면 팀원들은 내 작업 내용을 알 수 없습니다. 이 문서는 프롬프트 상의 브랜치 표시(branch-name) $를 명시하여 원격과 로컬을 동기화하는 실무 사이클을 설명합니다.


1. 왜 첫 푸시에는 -u (upstream) 옵션을 붙일까?

# 최초 1회: 로컬 브랜치와 원격 브랜치를 연결하며 푸시
(feature/login) $ git push -u origin feature/login
Branch 'feature/login' set up to track remote branch 'feature/login' from 'origin'.

# 이후부터는 브랜치 이름을 생략하고 간단히 push만 입력 가능
(feature/login) $ git push

2. 시니어들은 왜 무작정 pull 대신 fetch를 먼저 칠까?

# 1. develop 브랜치에서 원격 최신 변경사항 메타데이터만 우선 가져오기 (코드 변경 없음)
(develop) $ git fetch origin

# 2. 동료들이 올린 커밋이 무엇인지 미리 확인하기
(develop) $ git log HEAD..origin/develop --oneline

# 3. 안전함을 확인한 후 내 로컬 브랜치에 병합하기
(develop) $ git merge origin/develop

3. 실무 시나리오: 재택근무와 회사 PC 작업 동기화

퇴근 전 (회사 PC)

(feature/payment) $ git status
(feature/payment) $ git add .
(feature/payment) $ git commit -m "wip: 결제 모듈 연동 진행 중"
(feature/payment) $ git push origin feature/payment

도착 후 (집 PC)

# 작업 브랜치가 로컬에 이미 있는 경우
(feature/payment) $ git pull origin feature/payment

# 집 PC에서 해당 브랜치를 처음 내려받는 경우
(main) $ git fetch origin
(main) $ git switch feature/payment
Switched to a new branch 'feature/payment'
(feature/payment) $ 

Related Docs

Comments (0)

No comments yet. Be the first to comment!

Leave a Comment

로그인 후 댓글을 남길 수 있습니다.