Search code examples
gitgithubgit-submodulesgit-fork

Swap git submodule with own fork


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?


Solution

  • 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)