hub alias
似乎没有考虑--noop
,所以它从https://github.com/visionmedia/git-extras隐藏了git-alias
。
由于它是特定于集线器的命令,并且仅在设置时有用,因此我建议:
--noop
hub [--alias|--shell-alias] [SHELL]
$0
明确hub
时才起作用我花了一段时间才弄清楚你在说什么。 基本上, hub alias
隐藏了系统上可能存在的其他git-alias
命令(在这种情况下,一个由 git-extras 提供),对吗?
我赞成你的建议 3。但是,这种行为可能会让一些人感到惊讶,因为在其他情况下,调用hub <something>
应该与git <something>
(当hub
别名为git
)。 我需要想一想。
感谢您的提醒!
对不起,如果我不清楚; 你正确理解我。
像hub alias-command
这样的东西也能工作,而且更清楚一点吗?
或者类似的东西...
首先, --noop
不会将所有命令转发到git
。 它只显示hub
将执行的内容,但不执行它。
我喜欢使hub alias
仅在命令被调用为hub
而不是git
时才起作用的想法。 但是,我不知道如何在技术上做到这一点; $0
的值对我来说是hub
,无论我是否通过git
别名调用它。
下一个选项是使其成为自定义标志,例如hub --alias
。 然而,这破坏了与已经嵌入eval "$(hub alias -s)"
是 shell 的人的向后兼容性。
@cdlm @mislav如果我将 git 别名为 hub,那么hub是否会使 git-extras 别名无用? 我不能使用这里提到的任何很棒的 git-extras 别名https://github.com/tj/git-extras/blob/master/Commands.md吗?
您可以使用该存储库中除git alias
和git fork
之外的所有 git-extras 命令,因为hub alias
和hub fork
将优先。
您可以改用git-alias
和git-fork
,或者使用\
(反斜杠): \git alias
绕过git
别名。 我不是围棋专家,但我一直在乱搞,无论我如何运行可执行文件os.Args[0]
总是给出可执行文件的真实名称,即hub
,如@米斯拉夫说。
在hub alias
的情况下,也许您可以使用传递-s
来运行hub alias
的事实,否则打印弃用通知或转发到git
命令。
对于任何命令,如果您想从 shell 中完全跳过hub
,只需执行command git ...
。 例如command git alias
。
是的,这与使用反斜杠\
, _e.g._ \git
具有相同的效果
最有用的评论
对于任何命令,如果您想从 shell 中完全跳过
hub
,只需执行command git ...
。 例如command git alias
。