git 更新远程分支的2种方式
git 更新远程分支及内容的2种方式
这两条命令都涉及到从远程仓库获取更新,但它们的工作方式和目的稍有不同:
git fetch origin
- 这个命令从远程仓库
origin
获取所有引用(branches、tags等)的最新更新,并将这些更新存储在本地,但不会自动合并到当前的分支。 - 它只更新本地的远程追踪分支(
origin/*
),不会删除远程已经删除的分支或标签。
- 这个命令从远程仓库
git remote update origin --prune
git remote update origin
会更新所有远程仓库的引用,类似于git fetch
,但它会更新所有远程(不仅仅是origin
)。--prune
选项表示会清理本地仓库中已经删除的远程分支或标签。也就是说,如果远程仓库中的某个分支已经被删除,本地会同步删除这个远程追踪分支。- 这条命令不仅获取更新,还确保本地与远程的引用完全一致,包括删除的分支。
总结
git fetch origin
只更新远程仓库的引用,不涉及删除远程已经不存在的分支。git remote update origin --prune
除了更新外,还会删除本地已被远程删除的分支。