首页 > 解决方案 > 如何检测文件是否是子模块的一部分,如果是,是哪个子模块?

问题描述

我编写了一些脚本,基本上用于git log为工作区中的文件提取一些信息。这工作正常,但如果文件是子模块的一部分,它会失败。

正如我发现的那样,git log -- file如果文件是子模块的一部分,则不返回任何内容并以 0 退出;但是,当我cd进入子模块的目录时,git log将按预期工作。

所以我的想法是检测给定文件是否是子模块的一部分,如果是:“哪个子模块? ”。我怎样才能得到这些信息?

更新

一旦新的子模块被提交,实际git log输出子模块的数据。但是子模块中文件的日志信息仍然不同于命令的启动位置:git log

从主工作区启动时,它指的是子模块的提交,但从子模块目录运行时,它指的是子模块内部的提交。

所以这个问题仍然有效;-)

标签: gitgit-submodules

解决方案


推荐阅读