728x90
반응형
git fetch origin은 Git에서 원격 저장소(remote repository)에서 데이터를 가져오는 명령어입니다. 여기서 origin은 원격 저장소의 이름으로, 일반적으로 git clone을 통해 저장소를 처음 가져올 때 기본으로 설정됩니다. 이 명령어의 뜻과 동작을 간단히 풀어서 설명해드릴게요.
뜻
- "원격 저장소(origin)의 최신 정보를 로컬로 가져오되, 내가 작업 중인 브랜치는 건드리지 말아줘."
- 쉽게 말해, 원격 저장소에 어떤 변화가 있는지 확인하기 위해 데이터를 다운로드하는 겁니다. 하지만 로컬 브랜치(예: main)에 바로 적용하지는 않아요.
어떻게 동작하나요?
- 원격 저장소에서 정보 가져오기
- origin에 있는 브랜치, 커밋, 태그 등의 최신 데이터를 가져옵니다.
- 예: 누군가 origin/main에 새로운 커밋을 추가했다면 그걸 가져와요.
- 로컬의 원격 추적 브랜치 업데이트
- 가져온 데이터는 origin/브랜치명(예: origin/main)이라는 이름으로 로컬에 저장됩니다.
- 이건 "원격 저장소의 상태를 추적"하는 별도의 표시일 뿐, 작업 중인 로컬 브랜치(예: main)와는 달라요.
- 로컬 브랜치는 그대로
- 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
반응형
'IT공부' 카테고리의 다른 글
[지식루프의 IT공부] Git의 일반적인 흐름 (0) | 2025.03.03 |
---|---|
git pull과 git fetch 차이 설명 (0) | 2025.03.02 |
$ git pull fatal: Not possible to fast-forward, aborting. 해결방법 (0) | 2025.03.02 |
Figma 단축키 (0) | 2025.02.13 |
Open-source AI model DeepSeek-R1 의 보안측면에서의 우려 (4) | 2025.02.13 |