有时我在文章命令中看到: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 merge
或git 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和变音符号(在技术上有所不同,但在符号上完全相同),我认为我们应该将音调还原至卓越水平。 :-)