git-pull如何使用git-fetch(是:git-pull选项`-p`是什么意思)?

时间:2016-10-13 18:53:15

标签: git git-pull git-fetch

有时我会在文章命令中看到:table2 = table1{table1{:, 4} > 0.5, 1:3};
但我没有在official documentation

中找到相关信息

该选项意味着什么?

UPD

如@torek所述,git pull -p选项已传递给-pgit fetch这里的意思是:

  

-p
  --prune
  在获取之前,请删除遥控器上不再存在的任何远程跟踪引用。

但我不明白-p 公司如何与git-pull合作? 我如何弄清楚如何以及git-fetch个选项通过一个命令落到另一个命令?

3 个答案:

答案 0 :(得分:2)

现在也许这应该是第二个问题:

  

但是我不明白Git-pull如何使用git-fetch?   我怎样才能弄清楚git选项如何通过一个命令落到另一个命令?

(我认为你的意思是"co-operate" 1 而不是“公司”。)

git pull命令used to be a shell script。在脚本中,很容易分辨哪些选项传递给git fetch,哪些选项传递给git mergegit rebase,哪些选项直接使用。

从Git版本2.6.0开始,pull命令在C中被重写。它是still possible to tell哪些选项,但现在有点困难,因为你必须进一步查找每个选项的文本拼写。 (第二个链接可能会随着时间的推移而衰减,因为GitHub会查找当前版本的源文件,并且行号可能会发生变化。)

我自己建议避免git pull:运行git fetch,然后检查结果,然后根据需要选择git rebase(通常)或git merge(有时)。我还保留了一个别名git mff,它扩展为git merge --ff-only,我倾向于运行git fetch && git mff:如果快进失败,我可能想要改变,除非我想合并,这个序列(fetch和merge-if-fast-forwardable)要么成功(在这种情况下,rebase vs merge没有任何区别,我们就完成了)或者失败了(在这种情况下是时候检查了)。

(可能值得添加运行git fff ... :-)的别名git fetch && git mff

1 这可以写成“合作”,没有连字符,甚至可以写成“coöperate”,第二个o高于diaeresis。分音符在英文文本中很常见于精细打印(和The New Yorker still uses it!),但是打字机无法生成它,在20世纪早期到中期开始不那么常见。现在,计算机具有Unicode和变音符号 - 这些技术在技术上是不同的,但在符号上是相同的 - 我认为我们应该将分音符恢复到预先设定状态。 : - )

答案 1 :(得分:1)

git pull命令是一个速记命令,被解释为“git fetch”加上“git merge FETCH_HEAD”命令。如果为pull提供-p标志,则实际上是--prune命令可以使用命令的“git fetch”部分运行。这将删除(修剪)本地存储库中原始不再存在的所有远程跟踪分支。

答案 2 :(得分:0)

答案似乎是here

git-pullgit-fetch相似之处:两者都用于从远程存储库中下载新数据。

  • git-fetch实际上只从远程存储库下载新数据
  • git-pull不仅可以下载新数据;它还可以直接新数据集成到您当前的工作副本文件中(下载+合并)