包含/插入子模块的Git历史记录提交
问题描述:
我想获取存储库和所有子模块的git log
。该手册说应该使用git log --submodule
,但这不适用于我。包含/插入子模块的Git历史记录提交
------- -------编辑
为例 - 我跑:
git clone git://git.typo3.org/TYPO3v4/Core.git
cd Core
git submodule init && git submodule update
git log --submodule
的git log --submodule
输出不包括任何提交无论如何 - 子模块指针已被更改的提交。
什么是缺失?
答
听起来好像您期待--submodule
将子模块提交与来自git log
输出中父存储库的子提交进行交错,但不幸的是,这不是它的作用。
--submodule
参数定义了子模块差异的显示方式 - 因此,如果您使用的是模板,则只会看到其效果。 git log -p
为每个更改显示补丁。通常情况下,git log -p
将只显示了前提交在补丁一个子模块的变更后的哈希值:
$ git log -1 -p
commit 111808a2bb8c9683d3abe68df419759848ddb16e
Author: Simon Whitaker <[email protected]>
Date: Fri Jan 13 10:40:41 2012 +0000
Updated ObjectiveFlickr ref
diff --git a/submodules/ObjectiveFlickr b/submodules/ObjectiveFlickr
index b37c053..1bede67 160000
--- a/submodules/ObjectiveFlickr
+++ b/submodules/ObjectiveFlickr
@@ -1 +1 @@
-Subproject commit b37c0539a536147957c01ad01cf2d8666bcbde9e
+Subproject commit 1bede67b8258ed4b95b5d3d6c2175b5e64912269
随着--submodule
你实际在列出的子模块提交信息:
$ git log -1 -p --submodule
commit 111808a2bb8c9683d3abe68df419759848ddb16e
Author: Simon Whitaker <[email protected]>
Date: Fri Jan 13 10:40:41 2012 +0000
Updated ObjectiveFlickr ref
Submodule submodules/ObjectiveFlickr b37c053..1bede67:
> Set SKIP_INSTALL to YES so that Product > Archive
still builds app rather than Xcode archive
怎么办你的意思是它不起作用?实际上,子模块中的提交显示在提交范围中,您正在父回购中运行git-log? – Cascabel 2012-01-13 05:48:41
您初始化并更新了您的子模块吗? ('git subomdules init' /'git submodules update') – VonC 2012-01-13 07:37:27