How to update git submodule to current master or other branch?
Let’s say you have a git submodule
in MySubmodule
directory. If you have made changes to the repository referred to by MySubmodule
, you might want to update your project to refer to the latest commit.
In order to do this, simply go to the MySubmodule
directory and run git pull
there. You can also git checkout
any other branch.
After that, you need to commit the changes (i.e. which commit git submodule
is referring to currently) in the outer repository.
git status
in the outer repository will show you the changes like this:
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: MySubmodule (new commits)
Use git add MySubmodule
and git commit
normally, or use git commit -a
to commit all staged changes.