How do I remove a submodule?
Put another way, I've made a commit pointing to a nonexistent submodule
commit. And the submodule commit is now lost. Can I manually force the
submodule commit to the previous value? Or can I remove the submodule
and re-add it with an existing value?
--rich
Quoting "Rich Pixley" [off-list ref]:
How do I remove a submodule?
got to your superproject and:
- delete the submodules's section in .gitmodules and .git/config
- run "git rm --cached path_to_submodule"
- commit the superproject
- remove the submodule files.
- remove .git/modules/your_submodule
hth,
tom.
--
Thomas "Duke" Hager duke@sigsegv.at
GPG: 2048R/791C5EB1 http://www.sigsegv.at/gpg/duke.gpg
=================================================================
"Never Underestimate the Power of Stupid People in Large Groups."
On Wed, May 09, 2012 at 05:34:58PM -0700, Rich Pixley wrote:
Put another way, I've made a commit pointing to a nonexistent submodule
commit. And the submodule commit is now lost. Can I manually force the
submodule commit to the previous value? Or can I remove the submodule
and re-add it with an existing value?
If want to create a new commit with a valid submodule sha1 then you can
simply checkout the submodule at the desired commit and commit that
change in the superproject.
As far as changing the existing commit is concerned. That is not
possible wihout rewriting history. If your commit is on a branch
which nobody else is using you can use rebase to modify that commit.
If it is on a shared branch its not easy since everybody will notice and
would have to reset to the new history which will be a hassle.
Cheers Heiko