如何扩展内置的Git命令别名?(How do I expand a built in Git com

2019-09-18 14:45发布

在回答“ 混帐拉钩子脚本,本地执行 ”,我偶然发现了用例别名内置的git的命令,比如pullpush带的延伸。 我怎么做?

首先想到的是:

[alias]
    push = "!echo -n \"really push? [y/n]\";read -s -n 1 really;if [[ $really == \"y\" ]];then git push; else echo \"aborting\"; fi"

这只要我不姓我的别名工作正常push (例如qp或类似的东西)。 但只要我把它push ,它在某种程度上忽略。

是否有一个git方式来扩大内置的Git命令别名或做我必须建立一个别名在我.bashrc

Answer 1:

简短的回答: 你不能

Git的不允许这种明确的防止混淆和阴影可能会影响Git命令的调用(脚本等)。 见混帐配置手册页

alias.*

对于git的(1)命令封套命令别名 - 例如,定义“alias.last =猫文件提交HEAD”,调用“GIT中最后一个”后相当于“GIT中猫文件提交HEAD”。 为了避免混乱,并与脚本的使用烦恼, 那隐藏现有Git命令别名被忽略 。 参数之间用空格分开,通常的shell引用和转义支持。 报价配对并反斜杠可用于引用它们。

你可以,正如你提到的,只是名字你的别名别的东西并使用它,或做在bash 。 但是请注意,在bash多字的别名是不可能的,所以你不能有“混帐推”的别名。 相反,你需要使用的功能-见“ :猛砸空间的别名对超级用户一些提示”(你也许可以通过它的批发)。



文章来源: How do I expand a built in Git command with an alias?
标签: git alias