IT공부

git fetch origin 뜻

지식루프 2025. 3. 2. 18:38
728x90
반응형

git fetch origin은 Git에서 원격 저장소(remote repository)에서 데이터를 가져오는 명령어입니다. 여기서 origin은 원격 저장소의 이름으로, 일반적으로 git clone을 통해 저장소를 처음 가져올 때 기본으로 설정됩니다. 이 명령어의 뜻과 동작을 간단히 풀어서 설명해드릴게요.




  • "원격 저장소(origin)의 최신 정보를 로컬로 가져오되, 내가 작업 중인 브랜치는 건드리지 말아줘."
  • 쉽게 말해, 원격 저장소에 어떤 변화가 있는지 확인하기 위해 데이터를 다운로드하는 겁니다. 하지만 로컬 브랜치(예: main)에 바로 적용하지는 않아요.

어떻게 동작하나요?


  1. 원격 저장소에서 정보 가져오기
    • origin에 있는 브랜치, 커밋, 태그 등의 최신 데이터를 가져옵니다.
    • 예: 누군가 origin/main에 새로운 커밋을 추가했다면 그걸 가져와요.
  2. 로컬의 원격 추적 브랜치 업데이트
    • 가져온 데이터는 origin/브랜치명(예: origin/main)이라는 이름으로 로컬에 저장됩니다.
    • 이건 "원격 저장소의 상태를 추적"하는 별도의 표시일 뿐, 작업 중인 로컬 브랜치(예: main)와는 달라요.
  3. 로컬 브랜치는 그대로
    • git fetch는 가져오기만 하고, 로컬 브랜치에 병합(merge)은 하지 않습니다. 병합은 따로 해야 해요.

비유로 이해하기


  • 원격 저장소는 "클라우드에 있는 편지함"이라고 생각해보세요.
  • git fetch origin은 "편지함에서 새 편지를 확인해서 내 책상에 올려놓기"예요.
  • 하지만 "편지를 열어서 내 노트에 붙이지는 않음" = 병합은 안 함.

간단 예시


  • 원격 origin/main에 커밋 A, B가 있고, 로컬 main은 A만 있음.
  • git fetch origin 실행 → origin/main이 A, B로 업데이트됨.
  • 로컬 main은 여전히 A에 머물러 있음.
  • 확인하려면: git log main..origin/main (B가 보임).

추가로 할 일


  • 가져온 걸 로컬에 반영하려면:
    bash

    WrapCopy

    git merge origin/main
  • 또는 한 번에 하고 싶으면: git pull (fetch + merge).
728x90
반응형