git fetch
git
쓰는 꼴
git fetch [--all] [--prune] [<remote> [<branch>]]원격의 새 커밋을 받아 두기만 합니다 — 내 파일과 브랜치는 그대로라 merge나 rebase를 해야 반영되고, 서버에서 지운 브랜치는 --prune 전까지 남아 있습니다.
자주 쓰는 옵션
| 옵션 | 뜻 |
|---|---|
| --all | from every remote |
| --prune | delete tracking refs whose branch is gone on the server |
| --tags | also fetch tags |
| --unshallow | fill in the history a --depth clone left out |
| --depth <n> | deepen a shallow clone by n commits |
| -f | update a ref even when it is not a fast-forward |
예시
git fetch --all --prunerefreshes every remote and clears dead branches
git fetch origin mainupdates origin/main without touching your files
git fetch --unshallowturns a shallow clone into a full one
되돌리는 방법이 여럿이라 헷갈립니다 — 가리키는 곳을 옮기는 것과 새 커밋을 얹는 것은 다릅니다.
읽는 방법
- 대괄호 [ ]는 넣어도 되고 안 넣어도 되는 자리입니다.
- 점 셋 …은 여러 개를 이어 쓸 수 있다는 뜻입니다.
- 옵션은 대소문자를 가립니다 — -r과 -R이 다른 명령도 있습니다.
자주 묻는 것
Q. git fetch은 무엇을 하나요?
원격의 새 커밋을 받아 두기만 합니다 — 내 파일과 브랜치는 그대로라 merge나 rebase를 해야 반영되고, 서버에서 지운 브랜치는 --prune 전까지 남아 있습니다.
Q. 어떻게 치나요?
git fetch [--all] [--prune] [<remote> [<branch>]] — 대괄호는 생략할 수 있는 자리입니다.
Q. 옵션은 몇 개나 자주 쓰나요?
여기 정리한 것은 6개입니다. 전체 목록은 man git에 있습니다. 이 명령은 git 갈래입니다.
같이 보는 명령
man 페이지: man git-fetch