git - 给定标签的 git 子模块状态
问题描述
在给定标签的情况下,如何查看给定 GIT 存储库的 git 子模块的列表(和版本/标签/上次提交 ID)?
让我解释:
回购有2个标签:
[user@host foobar] (master) $ git tag
v1.0
v1.1
与 v1.1 相比,head 是 3 次提交:
[user@host foobar] (master) $ git describe
v1.1-3-gbcaa726
主存储库包含 4 个子模块:
[user@host foobar] (master) $ git submodule
51d91a79df12d356e2297e6d84fce92dac3ccedc roles/apache (heads/master)
4574dd38b0fce4aba68fcdea0deeed9dbe4872c3 roles/network (v1.0-1-g4574dd3)
f5a4c1ac9dfab903a2271d5036dd350f889e4f26 roles/rabbitmq (heads/master)
e6781120999aa036539955606d7d98f39bb450a5 roles/jboss-eap (heads/master)
“git submodule”命令显示每个子模块的最后一次提交。
我需要做的是
[user@host foobar] (master) $ git submodule --tag v.1.0
用于在标签 v.1.0 时打印子模块的提交 ID
那可能吗?
解决方案
如果子模块没有嵌套的子模块或者您不关心它,您可以运行git ls-tree -r -t v1.0 | grep ^160000
以打印 v1.0 的子模块的提交 ID。通过这种方法,您无需签出标签。
如果您不介意查看标签,可以尝试:
git checkout v1.0
git submodule update
git submodule
推荐阅读
- python - Discord.py on_typing
- android - Back button clicked with empty stack but still shown in Recent apps
- r - Horizontal bar plot with both stack and cluster bars in R
- python-3.x - Longest Palindrome Substring : Index Error ( list index out of range)
- json - Accessing Jaspersoft Report fields with nested JSON data fails using dot notation
- memory-management - 执行时地址绑定方案中的逻辑和物理地址空间
- django - Django 1 个包含 2 个子模型的父表,而不是创建 2 个子表
- android - 键预期 String[] 但值是 java.lang.String
- python - 查找 3D 三角形的第三个点
- powershell - 由于 unicode 字符,Powershell 脚本无法运行