[Git] pull과 merge

Eunsil Son·2025년 11월 11일

Git & Github

목록 보기
1/8
post-thumbnail

문제 상황

"원격과 로컬의 코드 상태를 맞추기 위해 pull을 받았는데 왜 히스토리에는 merge했다는 이력이 남은 거지?"

라는 물음에서 시작된 pull과 merge에 대한 글입니다.

Pull

저의 의도와 동일하게 원격 저장소에 있는 최신 코드를 나의 로컬에 동기화시키는 것입니다.

사실 Pull은 2개의 명령이 합쳐진 형태였습니다.

  • fetch: 원격 저장소의 변경 사항을 가져오나, 로컬에 반영하지 않고 따로 저장

    git fetch origin

    을 수행하면 fetch라는 임시 브랜치가 자동으로 생성됩니다.
    실제 병합 전 히스토리를 먼저 확인한 후에 병합 방식을 선택할 수 있습니다.

  • merge: 원격 저장소의 변경 사항을 가져와 로컬에 병합

Merge

두 개의 브랜치를 병합하는 것입니다.
병합은 로컬에서만 수행되며, 현재 체크아웃된 브랜치를 지정한 다른 브랜치(또는 커밋)와 병합하는 역할입니다.

결론

  • pull: 원격의 상태를 로컬에 가져와 자동으로 병합
    • 원격의 변경 사항을 나의 로컬에 반영하고 싶을 때
  • merge: 로컬에서 2개의 브랜치를 수동으로 병합
    • 로컬에서 여러 브랜치의 코드를 하나로 합치고 싶을 때
profile
Backend Developer

0개의 댓글