【发布时间】:2017-05-09 12:08:24
【问题描述】:
我通过编写位于/usr/local/bin 的shell 脚本实现了一个自定义git 命令。它工作正常,但我希望脚本在命令行中自动完成分支,就像git checkout [TAB][TAB] 一样。这怎么可能?
编辑:
只需添加一些上下文:git 允许您非常轻松地通过创建脚本 git-$subcommandName 添加自己的命令。在我这里git-install 的例子中,该脚本有助于签出分支、构建、打包和安装源代码。
【问题讨论】:
-
这里并没有真正重新发明轮子,我的自定义命令“git install”采用了一个分支名称,它会签出(所以是的,与 git checkout 相同),但它随后会执行一系列步骤来将源打包并安装到计算集群上。
-
@pedrorijo91 别名仅允许您重用预先存在的 git 命令,这对我不起作用。我不认为我的问题很清楚,所以我只是添加了一个编辑。
-
我提名这个问题重新开放 - 这是一个关于非常具体的需求的非常简洁的问题,具有广泛的适用性。
-
git 别名可以用于其他事情,你可以有一个别名如
!sh do_foo。 -
@KenWilliams,很高兴你做到了。我认为那些投票结束的人应该重新审视这个问题。 :-( 即使是未经编辑的问题也没有要求重新实现 git 的所有 bash 自动完成功能。(那太疯狂了!)很明显,它的范围仅限于用户添加的自定义命令。原始海报甚至给出了一个非常简短的答案,完美运行,并为其他人实现自己的自定义命令提供了一个起点。