I've followed the instructions at https://svn.boost.org/trac/boost/wiki/TryModBoost and everything worked fine. I then switched to branch develop in libs/bind and libs/smart_ptr, did developmental things there. Switched to master, did a merge, switched back to develop, did more things, git pushed the changes. This also worked fine. Now, what do I need to do to achieve the equivalent of "svn update", that is, to update all other libraries to reflect changes that others might have done in the meantime? When I do "git status" at the "modular-boost" directory (which I've named "boost"), I get: C:\Projects\boost-git\boost>git status # On branch master # 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) # (commit or discard the untracked or modified content in submodules) # # modified: libs/bind (new commits) # modified: libs/smart_ptr (new commits) # modified: tools/build (untracked content) # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # b2.exe # bin.v2/ # bjam.exe # boost/ # bootstrap.log # project-config.jam no changes added to commit (use "git add" and/or "git commit -a") That looks correct. Now, what do I need to do to update the master and all submodules to their latest state? Is it "git submodule update --init", "git pull", or something else? And would I then need to again checkout develop (or master, if I happen to be on that branch) in libs/bind and libs/smart_ptr?