历史/怪的git子模块

z0r*_*z0r 4 git

我有一个A使用project B作为git子模块的项目:

A
??? B
Run Code Online (Sandbox Code Playgroud)

我想查找A更新中的当前引用中的哪个提交B。该A/.gitmodules文件仅包含远程文件,不包含引用。运行此命令不起作用:

git blame -- B
Run Code Online (Sandbox Code Playgroud)
fatal: no such path 'B' in HEAD
Run Code Online (Sandbox Code Playgroud)

如何在A更改后的提交中查找提交B

z0r*_*z0r 8

您可以使用git log以下方式查看历史记录:

git log -- B
Run Code Online (Sandbox Code Playgroud)
commit 469e844f71d60f862e14e64302dbc849cbc7ba51
Run Code Online (Sandbox Code Playgroud)

或查看所有已更改提交的摘要:

git log --patch-with-stat -- B | grep commit
Run Code Online (Sandbox Code Playgroud)
commit 469e844f71d60f862e14e64302dbc849cbc7ba51
-Subproject commit a677c5ccb01071c6cfe5a6de9bddcd43ad5198ca
+Subproject commit 02ec5cb265a744f0a8a710920f0e2a832cc433f2
Run Code Online (Sandbox Code Playgroud)

第一行是project中的commit A,而其他行则显示project的B更改方式。