是否可以以编程方式查找.git目录的路径,包括子模块?
我正在尝试编写一个安装git钩子的脚本,但我找不到一种直接找到项目的.git目录的方法。理想情况下,它应涵盖以下情况:
我可以手动执行所有操作,但我不想解析子模块的.git文件。
编辑:我也对python中的解决方案感兴趣。
答案 0 :(得分:2)
This所以问题使用git rev-parse --show-toplevel
来查找顶级目录。
答案 1 :(得分:1)
git rev-parse --git-dir
似乎就是你想要的。我只是用子模块测试它:
cd mymodule
git rev-parse --git-dir # --> .git
git submodule add ssh://.../path/to/mysubmodule
cd mysubmodule
git rev-parse --git-dir # --> /home/.../mymodule/.git/modules/mysubmodule
这令我感到惊讶,因为.git
中有一个mysubmodule
,但结果却是一个文件,其中包含以下内容:
gitdir: ../.git/modules/mysubmodule