有时我在文章命令中看到:git pull -p但我没有在official documentation中找到有关该信息的信息

该选项是什么意思?

UPD

如@torek所述,-p选项被传递给git fetch。此处的-p表示:



但是我不明白git-pull企业如何与git-fetch合作?
我如何找出一个命令如何以及哪些git选项落到另一个命令中?

最佳答案

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



(我认为您的意思是"co-operate" 1而不是“corporate”。)
git pull命令used to be a shell script。在脚本中,很容易知道哪些选项传递给git fetch,哪些选项传递给git mergegit rebase,哪些直接使用。

从Git 2.6.0版开始,使用C语言重写了pull命令。哪个是still possible to tell选项,但是现在有点困难了,因为您必须向下看才能找到每个选项的文本拼写。 (由于第二个链接可能会随着时间的流逝而衰减,因为它可以让GitHub查找源文件的当前版本,并且行号可能会更改。)

我本人建议避免使用git pull:运行git fetch,然后检查结果,然后根据需要选择git rebase(通常)或git merge(有时)。我还保留了一个别名git mff,该别名扩展为git merge --ff-only,并且我倾向于运行git fetch && git mff:如果快进失败,除非可能要 merge ,否则我可能想重新设置基础,以及此序列(fetch和merge-if-fast) -forwardable)成功(在这种情况下rebase vs merge没什么区别,我们已经完成)或失败(在这种情况下是时候进行检查了)。

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

1这可以写为“合作”(不带连字符),甚至可以写为“合作”(在第二个o上方带有diaeresis)。细纹打印在英文打印中很常见(和The New Yorker still uses it!),但是由于打字机无法生产,在1900年代初到中期开始不那么普遍。现在,计算机具有Unicode和变音符号(在技术上有所不同,但在符号上完全相同),我认为我们应该将音调还原至卓越水平。 :-)

09-04 20:48
查看更多