Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于git pull和git fetch的一些混淆_Git_Git Pull_Git Fetch - Fatal编程技术网

关于git pull和git fetch的一些混淆

关于git pull和git fetch的一些混淆,git,git-pull,git-fetch,Git,Git Pull,Git Fetch,那么,有人能澄清一下这一点吗: 我运行: git pull origin master git status 然后它将这些变化拉出来并说: your branch is ahead of origin/master ... blahblah by 6 commits... 当我跑的时候 git fetch git status 它说: # On branch master nothing to commit (working directory clean) 所以-我想,git pu

那么,有人能澄清一下这一点吗:

我运行:

git pull origin master  
git status
然后它将这些变化拉出来并说:

your branch is ahead of origin/master ... blahblah by 6 commits...
当我跑的时候

git fetch
git status
它说:

# On branch master
nothing to commit (working directory clean)
所以-我想,
git pull
git默认获取吗-那么为什么它说“提前6次提交”,而没有额外的
git fetch

git status
中的“提前或延迟X次提交”文本基于当前分支的跟踪分支的状态<例如,如果您在
master
上,则使用code>remotes/origin/master

当您在同时指定远程和分支的情况下运行
git pull
时,它会获取新提交并将其合并到当前分支,但不会更新origin的远程跟踪分支。相反,它将刚刚获取的提交指向
FETCH\u HEAD

另一方面,在没有指定参数的情况下运行
git fetch
,会更新所有远程跟踪分支,因此会使消息消失<没有参数的code>git pull也会这样做


一个我自己打了很多次的小把戏!我希望git在每次抓取时更新针对特定远程对象的所有远程跟踪分支。

在这种情况下,它的意思是:您的分支在前面,即包含未推送的提交,与拉取无关,这对你来说只是一个警告。@bredikhin,但我刚刚撤销了这些承诺——为什么它们会被归类为未推动的?这就是我困惑的地方。为什么当我从远程分支提取更改时,我不会立即收到一条消息“无需提交(工作目录清理)”?是否可能在您第二次运行
git status
之前,您运行了
git push
?@Dannyboy您的本地提交未被推送,不是你拉的。@bredikhin,但我没有任何本地提交。如果我做了
git-fetch
-在
git-pull
->这个消息没有出现之后,我只是出于好奇才得到“无需提交(工作目录清理)”的消息,你知道为什么
git-pull
不更新
远程/分支
ref吗?这只是歇斯底里的葡萄干,还是有什么好的理由?结果证明它实际上根本不是git pull;这真的是一种“git pull”。“refspec”基本上是由冒号分隔的源-目标对,如
master:origin/master
git pull origin master:origin/master
表示“转到origin remote,给我它的主分支,并在本地存储库中更新origin/master”。如果不使用冒号,提取将根本不会更新任何本地引用,只需
fetch\u HEAD
。进一步阅读: