git fetch

作者: Muscleape | 来源:发表于2018-09-06 09:59 被阅读24次

一旦远程主机的版本库有了更新(Git术语叫做commit),需要将这些更新取回本地,这时就要用到git fetch命令;

常用命令

git fetch

$ git fetch <远程主机名>
  • 上面命令将某个远程主机的更新,全部取回本地;
  • git fetch命令通常用来查看其他人的进程,因为它取回的代码对你本地的开发代码没有影响;

git fetch <远程主机名> <分支名>

$ git fetch <远程主机名> <分支名>
  • 上面命令取回特定分支的更新;
  • 例如:取回origin主机的master分支,如下:
$ git fetch origin master
  • 取回的更新,在本地主机上要用"远程主机名/分支名"的形式读取。比如origin主机的master,就要用origin/master读取;

代码合并

详细操作步骤

## 在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支;
$ git fetch origin master:temp

## 比较本地代码与刚刚从远程下载下来的代码的区别;
$ git diff temp

## 合并temp分支到本地的master分支;
$ git merge temp

## 如果不想保留temp分支,删除;
$ git branch -d temp

直接使用 git fetch 命令

git fetch

  • 创建并更新本地远程分支。即创建并更新origin/xxx 分支,拉取代码到origin/xxx分支上;
  • 在FETCH_HEAD中设定当前分支-origin/当前分支对应,如直接到时候git merge就可以将origin/abc合并到abc分支上;

git fetch origin

  • 手动指定了要fetch的remote。在不指定分支时通常默认为master;

git fetch origin dev

  • 指定远程remote和FETCH_HEAD,并且只拉取该分支的提交;

对比git pull

与git pull相比git fetch相当于是从远程获取最新版本到本地,但不会自动merge。如果需要有选择的合并git fetch是更好的选择。效果相同时git pull将更为快捷;

相关文章

网友评论

    本文标题:git fetch

    本文链接:https://www.haomeiwen.com/subject/rkmtgftx.html