git_fetch¶
git fetch命令用于从另一个版本库中获取分支和/或标签(统称为引用), 以及重现其历史所必须的对象.
默认情况下, 会获取指向历史记录的所有标签, 可以使用--tags或--no-tags选项来改变此默认行为.
注解
使用git fetch获取分支, 并不是只获取当前的commit, 而是会将当前分支的历史一同获取.
基本语法:
# <repo>可以以shortname或URL的形式给出 git fetch <repo> <branch>/<tag>
FETCH_HEAD表示最近一次通过git fetch取回的分支;git log FETCH_HEAD
git fetch <repo># 省略<branch>, 表示取回指定远程仓库上的所有分支 # 从ref/heads/命名空间复制所有分支, 将它们保存在本地的refs/remotes/<repo>命名空间中 git fetch <repo>
git fetch# 省略<repo>, 默认表示取回origin上的所有分支 git fetch取回的远程分支存放在命名空间
.git/refs/remotes/<repo>下;使用
git branch -a/-r时, 在remotes命名空间下的分支表示远程分支.
将远程分支取回本地后, 可以像本地分支一样操作.
从远程分支创建一个新的分支;
git checkout -b newBranch origin/master
可以使用
git merge或git rebase命令, 在本地分支上合并远程分支.git merge origin/master # 或 git rebase origin/master