如何从特定目录执行git别名,而不是repo的根目录

时间:2018-04-10 17:18:03

标签: git

Git似乎执行了repo根目录下的所有别名。您可以使用以下别名来查看:

test = !pwd

甚至

test2 = "!f() { pwd ;}; f"

将显示repo根目录,而不是您所在的子目录。

如何从您所在的目录中创建一个别名,而不是根目录?

1 个答案:

答案 0 :(得分:1)

您可以使用变量$GIT_PREFIX。例如:

test = !echo $GIT_PREFIX

或更有效的用例:

cat-from = "!f() { git show $1:\"$GIT_PREFIX$2\" ;}; f"

可用于从特定分支捕获文件而不检查它:git cat-from master foo.txt

我通过在这里查看源代码找到了这个:https://github.com/git/git/blob/35f6318d44379452d8d33e880d8df0267b4a0cd0/t/t1020-subdirectory.sh#L131

如果您能找到记录的位置,请添加编辑/评论/答案。