2017-07-25 80 views
-1

假设我已经运行了git fetch,现在我想运行git pull,将我的本地myBranch更新为我的origin\myBranchgit pull没有更新远程设备

但是!!同时,在运行fetch后,我的网络连接已经下降:(现在,当我运行git pull时它失败了,因为它看不到remote。但是我仍然想要做本地部分的拉。

有没有办法告诉git pull而不做初始git fetch

注意运行:? 我可以git reset --hard更新myBranchgit pull并不永远只是做

我想另一种方式。把这个问题改为“第二个命令满足:git pull = git fetch + git ???“?

回答

1

实际上这取决于您的配置。

在默认配置中,如果你在my_branch有其作为origin/my_branch上游,然后git pull可视为

get fetch 
get merge origin/my_branch 

配置(或命令行参数)可以改变什么将被合并。配置也可以将第二步从合并更改为rebase。所以当你说

“什么第二个命令满足:git pull = git fetch + git ???”?

没有一个答案是什么???是,但默认它会被合并。

3

git pull实际上git fetch + git merge是:

+0

哦,是所有?呵呵。凉。 – Brondahl

+1

正如[文档](https://git-scm.com/docs/git-pull)所解释的那样:*“在默认模式下,'git pull'是'git fetch'的缩写,后面是'git merge FETCH_HEAD' 。“* – axiac

+0

最新的本地工作副本最简单的方法是合并你的本地副本远程回购('Git fetch'更新):'git merge origin/myBranch'。 – gucce