我熟悉在命令中使用--
,例如git checkout --
当您要将分支与文件git checkout -- master
分开时。但是,我从未见过git push --
,并且在手册页或 https://git-scm.com/docs/git-push 中找不到任何有关它的内容。
我遇到的命令是
git push -- origin e96b75aec4014a898cebfb0619599d8171f62c66:master
这是一个无操作。
git-push
不像git-checkout
那样接受任何文件参数,因此不需要裸双破折号,它被忽略了。
您列出的推送命令的一个值得注意但不相关的方面是它使用的是 refspec 语法,但与--
无关。
您可以类似地将其与git-branch
一起使用,即使它也不接受任何文件参数(例如:git branch -- fooBranch
等效于 git branch fooBranch
)
这不是特定于 git 的选项(至少不是用于推送),因此文档中没有解释。
它的实际用途:
在 Bash 内置命令和许多其他命令中使用双破折号 (--) 来表示命令选项的结束,之后只接受位置参数。
更多详情请见 unix.SE。