git fetch从远程仓储导入commit到你的本地仓储. 这些fetch到的commit是做为一个远程分支存储在你本地的. 这样你可以在集成这些commit到你的项目前先看看都有些什么修改.

用法

git fetch <remote>

获取远程仓储所有的分支.

git fetch <remote> <branch>

获取远程仓储指定的分支

讨论

当你想看看其他人都做了些什么工作的时候你可以使用fetch. 因为fetch到的内容是做为一个remote分支的形式展现出来的, 所以不会对你的本地开发有什么影响. 因此fetch是在你想merge远程的commit前, 先来查看查看这些commit的一个安全的办法. 他不回强迫你merge.

远程分支

远程分支类似于本地分支, 不同点在于他们代表是其他人的仓储的分支. 你可以checkout一个远程分支, 当你checkout一个远程分支的时候, 你处于一个detached HEAD的状态(就如checkout 一个老的commit). 你可以把他想象成是一个只读的分支. 想要查看远程分支, 只要在git branch的后面加上一个-r标记. 远程分支的前缀是remote这样就不会和本地分支混淆了. 下面的例子演示怎么查看远程分支:

git branch -r
# origin/master
# origin/develop
# origin/some-feature

如果你觉得远程分支的一些修改没问题你可以使用git merge把他们merge到你的本地分支. 和svn不一样, git同步远程的仓储需要两步:fetch和merge. git pull命令是这一个git fetch加git merge的更简便的写法.

例子

下面的例子演示了同步你本地仓储和远程仓储的典型工作流.

git fetch origin

运行后会显示哪些branch被下载下来了:

a1e8fb5..45e66a4 master -> origin/master
a1e8fb5..9e8ab1c develop -> origin/develop
* [new branch] some-feature -> origin/some-feature

在下图中远程分支的commit是矩形的, 本地的是圆形的.

为了查看哪些commit被添加到了上游master, 你可以运行git log 另外加上origin/master做为过滤器

git log --oneline master..origin/master

  

批准远程分支的修改并merge到我们的本地master分支可以使用如下的命令:

git checkout master
git log origin/master

然后开始merge

git merge origin/master

  

  

转载于:https://www.cnblogs.com/irocker/p/git-fetch.html

[译]git fetch相关推荐

  1. git fetch - git merge - git pull 指令

    git fetch - git merge - git pull 指令 Incorporates changes from a remote repository into the current b ...

  2. git init 会不会清空_Git命令:git pull amp; git fetch

    前言 本地仓库需要获取远程仓库中的更新,需要用到Git命令pull或fetch,这两个命令在实际使用时有何区别,下面详细介绍下. 使用工具 Git v2.29.2.2 TortoiseGit v2.4 ...

  3. Git fetch和git pull的区别

    原文:http://www.tech126.com/git-fetch-pull/ Git中从远程的分支获取最新的版本到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本到本地 ...

  4. Git Fetch vs Pull:Git Fetch和Git Pull命令之间有什么区别?

    Git pull and fetch are two commands that are regularly used by Git users. Let's see the difference b ...

  5. git:Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists)....

    Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists). 解决办法一:保 ...

  6. git push VS git fetch

    最近我们研发团队所有项目源码的版本管理实现了统一化,全部统一采用git进行管理,丢弃svn.在使用git的过程中,遇到了git pull和git fetch两个命令,针对具体含义与区别比较模糊,进而进 ...

  7. #39;git pull#39;和#39;git fetch#39;有什么区别?

    主持人注意:鉴于此问题已经发布了67个答案 (其中一些已删除),请在发布另一个问题之前考虑您是否正在贡献新内容 . git pull和git fetch什么区别? #1楼 我花了一点时间来了解有什么区 ...

  8. git fetch -p 获取远程仓库的新分支以及删除远程仓库已删除的分支

    一.需求 需求是我和同事合作开发一个项目.同事要新建一个分支,然后,我这边拉取这个分支即可. 然而同事新建分支并且推送到远程仓库之后,我这边通过git branch -a并不能看到这个分支. 二.解决 ...

  9. 关于git fetch 和git pull 的区别

    1.fetch 相当于是从远程获取最新版本到本地,不会自动merge. git fetch origin master:tmp git diff tmp  git merge tmp 2. git p ...

最新文章

  1. python能绘制统计图吗-使用Python绘制图表大全总结
  2. 《JAVA程序设计》_第四周学习总结
  3. 白内障预防+手术中人工晶状体的选择
  4. 简单的C#字符串数组转字符串方法
  5. android连接指定的wifi
  6. CC3200在sl_Start函数处不断重启复位的原因解析
  7. android wchar t 中文,Android没有真正的wchar_t吗?
  8. Spark2.1.0——运行环境准备
  9. 时间序列分析与非参数统计
  10. 微信H5页面ios分享失效
  11. 小程序源码:酒桌扑克娱乐喝酒小游戏-多玩法安装简单
  12. Open Distro for Elasticsearch:AWS Elasticsearch 发行版
  13. 魔兽世界燃烧的远征服务器状态,6月2日加入“燃烧的远征” 立刻了解《魔兽世界》经典怀旧服的服务器抉择...
  14. JavaSE基础20笔记IO流
  15. 基于asp.net714零食销售海米跨境电子商务商城
  16. 线段树--暴力修改专题浅谈
  17. 炫云云渲染3ds max动画渲染使用教程
  18. 启动电容与运行电容-电容-嵌入式开发-物联网开发
  19. python基础学习笔记——完结
  20. 树莓派python图形化编程_BlockPi: 树莓派图形化编程软件,轻松控制GPIO、SenseHAT、Picamera等硬件。...

热门文章

  1. softmax的简洁实现
  2. linux media v4l2,Linux kernel drivers/media/v4l2-core/videobuf2-v4l2.c拒绝服务漏洞(CVE-2016-4568)...
  3. e7用什么主板_主板当中的纽扣电池有什么用?电池没电了会怎样?
  4. 论文阅读:Natural Language Processing Advancements By Deep Learning: A Survey
  5. Leetcode组队学习——分治
  6. python38环境变量的配置_Windows下python环境变量配置
  7. linux shell运行脚本,Linux shell脚本中调用另一个shell(exec、source、fork)
  8. 计量分析类论文如何创新-化柏林
  9. Android轩辕剑之ActionBar之二
  10. python关键字define_在Python中,使用关键字define定义函数。