将远程仓库的提交更新到本地的分支
git fetch语法:
1. git fetch
将更新git remote中所有的远程repo所包含分支的最新commit-id, 将其记录到.git/FETCH_HEAD文件中
在本地复制所有远程仓库的所有分支
2. git fetch remote_repo
这将更新名称为remote_repo的远程repo上的所有branch的最新commit-id,将其记录。
在本地复制指定仓库的所有分支
3. git fetch remote_repo branch_name
这将这将更新名称为remote_repo 的远程repo上的分支branch_name
不会在本地复制这个远程仓库的这个分支
4. git fetch remote_repo remote_branch_name:local_branch_name
这将这将更新名称为remote_repo 的远程repo上的分支:remote_branch_name,
并在本地创建local_branch_name 本地分支保存远端分支的所有数据
FETCH_HEAD: 是一个版本链接,记录在本地的一个文件中,指向着目前已经从远程仓库取下来的分支的末端版本。
git fetch没有具体远程分支的情况下,FETCH_HEAD指向远程仓库的主分支的最新提交
方式一:
# 拉取指定远程仓库和其下的分支,FETCH_HEAD指向对应的远程分支的本地复制版本
git fetch origin origin_branch
# checkout进入要更新代码的本地分支,执行merge命令
git merger FETCH_HEAD
方式二:
# 指定远程仓库却没有指定具体的远程分支,对应的merger命令有所不同,因为FETCH_HEAD执行本地复制的主分支的
git fetch origin
# 切换到要更新代码的本地分支,主要针对,要拉取并与本地分支合并的远程分支不是主分支的情形
git merger origin/某个远程分支