当通过Git别名运行外部命令时,它会从存储库的根目录(通常是 .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
What I want is
git add-specificname -opt -opt2 --long-option -- path1 path2
在Git中,不允许别名参数,因此无法使用
git add specificname...
命令。