git fetch 指令
執行 fetch,可以取得遠端 repo 的最新歷史記錄。取得的送交紀錄會導入在自動建立的分支中,並可以切換這個名為 FETCH_HEAD 的分支。
使用情境
執行 pull,遠端 repo 的內容會自動合併。但是,有時候只是想確認遠端數據庫的內容卻不是真的想合併,在這種情況下,請使用 fetch。
常用指令範例
範例 | 說明 |
---|---|
git fetch | 更新目前分支指向的遠端容器 |
git fetch origin | 更新指定遠端容器 |
git fetch --all | 更新所有 remote 底下的分支 |
語法結構
usage: git fetch [<options>] [<repository> [<refspec>...]]
or: git fetch [<options>] <group>
or: git fetch --multiple [<options>] [(<repository> | <group>)...]
or: git fetch --all [<options>]
-v, --verbose be more verbose
-q, --quiet be more quiet
--all fetch from all remotes
-a, --append append to .git/FETCH_HEAD instead of overwriting
--upload-pack <path> path to upload pack on remote end
-f, --force force overwrite of local branch
-m, --multiple fetch from multiple remotes
-t, --tags fetch all tags and associated objects
-n do not fetch all tags (--no-tags)
-p, --prune prune remote-tracking branches no longer on remote
--recurse-submodules[=<on-demand>]
control recursive fetching of submodules
--dry-run dry run
-k, --keep keep downloaded pack
-u, --update-head-ok allow updating of HEAD ref
--progress force progress reporting
--depth <depth> deepen history of shallow clone
--unshallow convert to a complete repository
--update-shallow accept refs that update .git/shallow
--refmap <refmap> specify fetch refmap