【发布时间】:2021-02-05 06:19:37
【问题描述】:
我找不到区别,但有区别吗? 之间:
- 选项A:
git pull origin develop --rebase - 选项 B:
git pull --rebase origin develop
Git docs 状态:
git pull [<options>] [<repository> [<refspec>…]]
所以你会认为选项 B 是正确的,但不是..
- 为什么选项 A 也有效
- 是否有处理选项的顺序?
【问题讨论】:
-
AFAIK 没有区别。至于为什么,Git 的语法往往很松散,这就是原因。
-
不,选项的位置在 git 中无关紧要。请注意某些命令中的
--,因为它之后的所有内容都被视为文件路径。git show --name-only abcd1234 -- path/to/file.txt将不等同于git show abcd1234 -- path/to/file.txt --name-only -
@MRedant 否。如果您想防止意外错误,请首选选项 B,如文档中所述。这是大多数 unix 命令行工具之间的共享约定...
-
@MRedant 我对您的评论感到非常惊讶,因为我在第一条评论中没有提出 任何 答案或解决方案。我只是指出 no option 应该放在
--之后,这是“过去的一切都是文件路径”的符号。在这里你不在你的命令中使用--,对不起,如果我不知何故增加了混乱。另外,我不知道您为什么会认为我的评论会促使您选择所谓的“选项 A”。 -
@RomainValeri .. 很抱歉造成混乱。我指的是您的第一条评论中的“否”以及您提供的其他有趣的背景信息。
标签: git version-control git-branch rebase pull