git rev-parse --show-toplevel 不解析符号链接

3
当我的项目目录是一个符号链接,指向实际目录存储位置时,--show-toplevel命令将输出实际路径,可能称为“物理路径”。因此,例如,如果我在这里看到的正确路径中:
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 命令。是否可以以某种方式返回符号路径?

1个回答

2
尝试运行这个代码:
echo $(cd $(git rev-parse --show-cdup) .; pwd)

尝试过了,它返回未修改的物理路径。 - Itzie
我的错误,默认情况下realpath会跟随符号链接。有一个选项可以禁用此功能(-s),但是当您从存储库的顶层目录运行它时,realpath仍然会失败(因为在这种情况下,git-rev-parse返回空字符串)。我已更改我的答案,目前它不再使用realpath,因此应该更加灵活和可移植。 - qzb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接