2012-01-12 155 views
5

我想獲取存儲庫和所有子模塊的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輸出不包括任何提交無論如何 - 子模塊指針已被更改的提交。

什麼是缺失?

+0

怎麼辦你的意思是它不起作用?實際上,子模塊中的提交顯示在提交範圍中,您正在父回購中運行git-log? – Cascabel 2012-01-13 05:48:41

+0

您初始化並更新了您的子模塊嗎? ('git subomdules init' /'git submodules update') – VonC 2012-01-13 07:37:27

回答

6

聽起來好像您期待--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