当通过 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...