【发布时间】:2015-07-30 11:06:52
【问题描述】:
当通过 Git 别名运行外部命令时,它会从存储库的 rood 目录(通常是 .git/ 所在的位置)运行。可以通过以下方式检查:
$ cd /some/path/inside/repo
$ echo $(git -c alias.root='!pwd' root)
现在,有没有办法获取运行别名的确切路径?`
如果出现 XY 问题,这就是我正在做的事情:我想要一个启动 shell 函数的别名,该函数又运行几个 Git 命令,如 ls-files。它应该只在它被调用的路径中工作,所以它应该知道它。
如果我只运行该函数,它会很好地工作,因为它不会更改路径并准确运行它被调用的位置。但我想要更多的原生行为。我现在拥有的是
git-add-specificname -opt -opt2 --long-option -- path1 path2
我想要的是
git add-specificname -opt -opt2 --long-option -- path1 path2
Git 中不允许使用别名参数,所以git add specificname... 没有机会
【问题讨论】: