赞
踩
相信大家都知道git pull命令相当于git fetch加git merge。那么直接使用git pull和分开使用有什么区别呢?要解答这个问题首先要想了解git fetch的工作原理是什么样的。
先讲一下什么是远程跟踪分支。远程跟踪分支以 <remote>/<branch>
的形式命名,它们是远程分支状态的本地引用(指针)。
当使用 git fetch
命令和远程仓库进行通信时,Git会移动远程跟踪分支以精确反映远程仓库的状态。即远程跟踪分支的位置就是最后一次从远程仓库获取到的位置。
你从Git服务器 git.ourcompany.com
克隆了一个项目到本地。你在本地的 master
分支做了一些工作,在同一段时间内有其他人推送提交到 git.ourcompany.com
并且更新了它的 master
分支,这就是说你们的提交历史已走向不同的方向。 即便这样,只要你保持不与 origin
服务器连接(并拉取数据),你的 origin/master
指针就不会移动。
如果要与给定的远程仓库同步数据,运行 git fetch <remote>
命令(在本例中为 git fetch origin
)。 这个命令查找 “origin” 是哪一个服务器(在本例中,它是 git.ourcompany.com
), 从中抓取本地没有的数据,并且更新本地数据库,移动 origin/master
指针到更新之后的位置。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。