Swap git submodule with own fork

Svish picture Svish · Jul 24, 2012 · Viewed 14.8k times · Source

I added a submodule to my git repo like this:

$ git submodule add git://github.com/user/some-library some-library

I've decided I want to create a fork of that library to do some adjustments. How can i swap that submodule so that it points to my own github fork instead?

Answer

dbr picture dbr · Jul 24, 2012

The submodules are stored in .gitmodules:

$ cat .gitmodules
[submodule "ext/google-maps"]
    path = ext/google-maps
    url = git://git.naquadah.org/google-maps.git

If you edit the url with a text editor, you need to run the following:

$ git submodule sync

This updates .git/config which contains a copy of this submodule list (you could also just edit the relevant [submodule] section of .git/config manually)

There might be a way to do it with only git commands, although the submodule system seems a bit incomplete (e.g see the instructions to remove a submodule)