如何从git status获取相对于当前目录的路径?

时间:2015-02-07 02:41:53

标签: git path relative-path git-status

我希望在脚本中使用 git status 的输出,但由于输出总是提供repo-relative文件路径,因此其他命令无法找到它们的args。 This question提到了relativePaths选项,但在作为命令选项给出时它对输出没有影响:

git -c status.relativePaths = true status --short

如果我在C:\projects\myproject\config\module\feature.src有一个更改过的文件,而我正坐在C:\projects\myproject\web\somepage的命令提示符下,那么我需要一条像以下任何一条的路径:

  • ..\..\config\module\feature.src
  • C:\projects\myproject\config\module\feature.src

...能够将其交给我想要在新更改的文件上调用的其他工具。相反,使用基于myproject\的回购,我试过的每个选项组合都只产生了

  • config\module\feature.src

那么我怎样才能获得实际的相对路径,甚至是绝对路径?我错过了一些基本的东西吗?

我在Windows 7上使用git版本1.9.4.msysgit.2,并在外部文件夹中使用repo文件。我可以提供一份我尝试过的不起作用的清单。我可以在运行其他命令之前将我的脚本查询和 cd 发送到repo根目录,或者先自己执行,但这些只是解决方法。

1 个答案:

答案 0 :(得分:1)

您需要使用git config status.relativePaths true。请阅读configuration部分here中的详细信息。