如何查看git子模块库的状态?

问题描述 投票:3回答:3

我在一个子模块的git项目中有一个库,我将其称为service-lib。

service-lib不是我自己或我公司开发的,实际上我鼓励不要编辑它。

如何检查此模块的git状态:

  1. 检查以确保我没有意外编辑/创建其中的文件
  2. 查看开发人员的任何更新(即我可以采用他们可能添加的任何错误修复)
git git-submodules git-status
3个回答
4
投票

git submodule具有以下命令来查看子模块的状态。

git submodule status path/to/submodule


1
投票

使用status命令就像使用任何其他git repo一样

enter image description here


git submodule status

显示子模块的状态。

这将打印每个子模块当前检出的提交的SHA-1,以及SHA-1的子模块路径和git describe的输出。

如果子模块未初始化,则每个SHA-1都将带前缀,如果当前检出的子模块提交与包含存储库的索引中找到的SHA-1不匹配,则为+,如果子模块存在合并冲突,则为U.

如果指定了--recursive,则此命令将递归到嵌套的子模块中,并显示其状态。

如果您只对当前初始化的子模块相对于索引或HEAD中记录的提交的更改感兴趣,git statusgit diff也将提供该信息(并且还可以报告对子模块的工作树的更改)。


1
投票

请注意,如果您只有一个子模块,则查看其状态会更简单:

git submodule

这是因为,在Git 2.22(Q2 0219)之前,子模块的默认行为未在git-submodule.txt和git-submodule的使用文本中记录。

commit 68cabbfDenton Liu (Denton-L)(2019年2月15日)。 (由Junio C Hamano -- gitster --合并于commit c388c12,2019年3月7日)

现在documentation includes

没有参数,显示现有子模块的状态。 有几个子命令可用于对子模块执行操作。

© www.soinside.com 2019 - 2024. All rights reserved.