I have a commit on master, hash 6877146, which updates a submodule.
$ git show 6877146
commit 6877146f1781bfbd4ec3ae2a27121a606f5f688e
Author: [snip]
Date: Wed Feb 22 16:10:20 2012 +0000
updating potatobase
diff --git a/potatobase b/potatobase
index 5877e2c..b77ba62 160000
--- a/potatobase
+++ b/potatobase
@@ -1 +1 @@
-Subproject commit 5877e2c2d82645fa44f121884291ee48cf24584d
+Subproject commit b77ba624d6a1c5e62d434ad2d06383604aeab431
This commit is on the master branch, which I currently have checked out:
$ git branch -a --contains 6877146
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/ticket-1479-refactor-blade-json-functions
However, doing git log on the submodule does not show the commit:
$ git log potatobase | grep 6877146
$
If I explicitly check out this commit, it's in the log:
$ git checkout 6877146
$ git log potatobase | grep 6877146
commit 6877146f1781bfbd4ec3ae2a27121a606f5f688e
Why is this commit not shown in the log when I've checked out master? It's already merged into master:
$ git checkout master
$ git merge 6877146
Already up-to-date.
$
1.1. Submodules are Git repositories nested inside a parent Git repository at a specific path in the parent repository's working directory. A submodule can be located anywhere in a parent Git repository's working directory and is configured via a . gitmodules file located at the root of the parent repository.
Help those users by providing a ' deinit ' command. This removes the whole submodule. <name> section from . git/config either for the given submodule(s) (or for all those which have been initialized if ' .
A commit updating a submodule just changes the revision git will checkout when you init/update the submodule. The commit id of that commit is in no way related to commit ids of the submodules itself.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With