gpt4 book ai didi

git - 以编程方式获取 bash 中 git 目录的路径(包括子模块)

转载 作者:太空狗 更新时间:2023-10-29 14:08:31 24 4
gpt4 key购买 nike

是否可以通过编程方式找到 .git 目录的路径,包括子模块?

我正在尝试编写一个安装 git Hook 的脚本,但我找不到找到项目的 .git 目录的直接方法。理想情况下,它应涵盖以下情况:

  1. 项目根目录
  2. 在项目的子目录中
  3. 在项目中子模块的根目录
  4. 在项目中子模块的子目录中

我可以手动完成所有这些,但我宁愿不解析子模块的 .git 文件。

编辑:我也对 python 中的解决方案感兴趣。

最佳答案

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

这让我很惊讶,因为在mysubmodule 中有一个.git,但结果却是一个文件,内容如下:

gitdir: ../.git/modules/mysubmodule

关于git - 以编程方式获取 bash 中 git 目录的路径(包括子模块),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15146163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com