git rev parse——显示顶级以不解析符号链接

git rev parse——显示顶级以不解析符号链接,git,directory,symlink,Git,Directory,Symlink,当my project dir是指向实际目录存储位置的符号链接时,--show toplevel将输出实际路径,可能称为“物理路径”。例如,如果我在这里可见的右路径中: ln -s /home/me/.hidden_projects_storage/newproject /home/me/workspace/newproject.git 然后,——show toplevel将输出: /home/me/.hidden_projects_storage/newproject 我正在从顶级目录ne

当my project dir是指向实际目录存储位置的符号链接时,
--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
。是否可以以某种方式返回符号路径?

尝试运行以下操作:

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

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