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

  

  

[译]git fetch的更多相关文章

  1. git pull和git fetch的区别

    Git中从远程的分支获取最新的版本到本地有这样2个命令:1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge Git fetch origin master git log ...

  2. Git fetch和git pull的区别

    Git中从远程的分支获取最新的版本到本地有这样2个命令:1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge git fetch origin mastergit log - ...

  3. [转]git fetch 的简单用法:更新远程代码到本地仓库

    [原文地址]:http://my.eoe.cn/com360/archive/3533.html Git中从远程的分支获取最新的版本到本地方式如下,如何更新下载到代码到本地,请参阅ice的博客基于Gi ...

  4. [译]git push

    push就是把你本地仓储的commit传到远程仓储中去. 用法 git push <remote> <branch> push指定的分支到<remote>中去.   ...

  5. [译]git pull

    git pull把git fetch和git merge压缩成了一条命令. 用法 git pull <remote> 作用和git fetch <remote> &&a ...

  6. [转] git fetch与pull

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

  7. git fetch 的简单用法:更新远程代码到本地仓库

    方式一 1. 查看远程仓库 1 2 3 4 5 6 $ git remote -v eoecn https://github.com/eoecn/android-app.git (fetch) eoe ...

  8. git fetch和git pull(转载)

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

  9. 真正理解 git fetch, git pull 以及 FETCH_HEAD【转】

    转自:http://www.cnblogs.com/ToDoToTry/p/4095626.html 真正理解 git fetch, git pull 要讲清楚git fetch,git pull,必 ...

随机推荐

  1. eclipse安装插件的方法(简单、ERMaster插件安装)

    ERMaster插件:https://sourceforge.net/projects/ermaster/ 链接:http://pan.baidu.com/s/1o7UWLMa 密码:wkax 可以编 ...

  2. dotnet反编译工具大全

    反编译不是为了破解软件,而是在开发时更好的读懂程序干了什么,比如MVC的源码,如果使用1和4的VS插件能更好的进行断点跟踪. 常用,效率最高: 1.[.NET Reflector]首选,能比较好的反编 ...

  3. gdb简明手册

    如果是在windows环境下,首先要添加环境变量: 新建一个环境变量MinGW_PATH,值为MinGW的运行目录: 然后在系统的Path变量后面加上一句:(每两个变量之间用 ; 分开) ------ ...

  4. 360doc的文章不能复制的解决办法

    按F12打开控制台,执行: document.body.oncopy=null;

  5. select 1 from dual 中的1表示的含义

    select 1 from dual   在这条sql语句中的1代表什么意思?查出来是个什么结果?   其实: select 1 from table; select anycol(目的表集合中的任意 ...

  6. MOOCULUS微积分-2: 数列与级数学习笔记 2. Series

    此课程(MOOCULUS-2 "Sequences and Series")由Ohio State University于2014年在Coursera平台讲授. PDF格式教材下载 ...

  7. [Android]Unit Test for Android

    根据Android Developer文档,对Android的UT做个学习总结: 1. 搭建Eclipse测试环境. Eclipse的ADT(Android Developer Tools) 插件为我 ...

  8. [转]virtualenv and virtualenvwrapper

    转自 http://liuzhijun.iteye.com/blog/1872241 virtualenv virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能 ...

  9. 【Alpha版本】 第七天 11.15

    一.站立式会议照片: 二.项目燃尽图: 三.项目进展: 成 员 昨天完成任务 今天完成任务 明天要做任务 问题困难 心得体会 胡泽善 完成我要招聘的招聘详情显示,完成简历填写及显示功能 完成我要应聘的 ...

  10. linux系统性能监视命令

    preface as a linux engineer,you should know how to use these command of monitor system,so let's lear ...