【问题标题】:git rev-parse --show-toplevel to not resolve symbolic linksgit rev-parse --show-toplevel 不解析符号链接
【发布时间】:2017-02-06 09:02:06
【问题描述】:

当我的项目目录是存储实际目录的符号链接时,--show-toplevel 将输出实际路径,可能称为“物理路径”。因此,例如,如果我在此处可见的 right 路径中:

ln -s /home/me/.hidden_projects_storage/newproject /home/me/workspace/newproject.git

然后--show-toplevel 将输出:

/home/me/.hidden_projects_storage/newproject

我从顶级目录newproject.git 运行git rev-parse。我可以以某种方式返回符号路径吗?

【问题讨论】:

    标签: git directory symlink


    【解决方案1】:

    尝试运行这个:

    echo $(cd $(git rev-parse --show-cdup) .; pwd)
    

    【讨论】:

    • 试过了,它返回未修改的物理路径
    • 我的错误,默认情况下realpath 遵循符号链接。有一个选项可以禁用此功能(-s),但是当您从存储库的顶级目录运行它时,realpath 仍然失败(因为在这种情况下git-rev-parse 返回空字符串)。我已经更改了答案,目前它不再使用realpath,因此它应该更加灵活和便携。
    【解决方案2】:

    我最近遇到了同样的问题,当我知道“git rev-parse --show-toplevel”会返回实际路径并且如果您不知道该文件夹是符号链接文件夹。

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2020-11-23
    • 2011-06-14
    • 1970-01-01
    • 2020-08-16
    • 2013-03-25
    • 1970-01-01
    • 2017-06-14
    相关资源
    最近更新 更多