如何在不检出分支的情况下知道分支中的子模块 [英] How to know submodules in a branch without checking it out

查看:13
本文介绍了如何在不检出分支的情况下知道分支中的子模块的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有什么编程方法可以找出在非签出提交中有哪些子模块?基本上,我希望能够执行git submodule status <commit>(遗憾的是该选项不存在,至少在1.9.7.5中不存在)

我能想到两种选择;它们看起来都不够优雅:

  1. git submodule summary -n 1 commit;然后用git submodule status

  2. 解析输出并推导子模块之间的差异
  3. 在该特定提交时获取文件".gitModule"的内容,然后对其进行分析

还有更简单的解决方案吗?

推荐答案

应该可以工作:

git ls-tree -r <commit> | awk '$2 == "commit"'
虽然这只告诉您子模块所在位置的路径,以及应该在那里签出的相应提交。如果您想要获取URL或其他信息,您可能必须从提交中解析.gitmodules文件,正如您所提到的。

这篇关于如何在不检出分支的情况下知道分支中的子模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆