Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
204 views
in Technique[技术] by (71.8m points)

git submodule sync command - what is it for?

I don't understand from the documentation what does git submodule sync do. Please explain.

question from:https://stackoverflow.com/questions/33739376/git-submodule-sync-command-what-is-it-for

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Git stores information about submodules in two places. The first is in a file called .gitmodules, which is checked in to the git repository. Changes to this file are what get propagated to other repositories.

The other location is in .git/config, and it's where git actually looks when performing most commands.

So imagine you've worked on a project for a while, and there's a submodule called foo. Files for this submodule are checked out from some url, it doesn't really matter where. At some point, however, this url changes. Perhaps it changes so that the submodule is checked out from a different server, or a different path or whatever. When you update your repository your copy of the .gitmodules file will be updated, but not your .git/config file; you would still be checking out from the old url. When you want to start checking out from the new url, you would run git submodule sync to copy the new configuration from .gitmodules to .git/config. Git doesn't do this automatically because you might have made your own changes to your configuration, and it wouldn't want to overwrite them.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...