I have a Git project which has a submodule. The url of the submodule was recently changed. I have changed the .gitmodules
and config file to point to the new ur
Yes, after editing .gitmodules
, you should commit and push those changes, so the change becomes available to everyone. Otherwise, only your local submodule would point to the new URL and everyone else would still the old URL.
However, you don't need to commit to change the URL locally, git
will also switch to the new URL if you haven't committed the change.
Nobody speaks about how and what files one has to commit
No need to change a file, sync/commit: this is now done for you in one new command.
With Git 2.25 (Q1 2020), "git submodule
" learned a subcommand "set-url
".
See commit 26b0610 (29 Oct 2019) by Denton Liu (Denton-L).
(Merged by Junio C Hamano -- gitster -- in commit 99c4ff1, 10 Dec 2019)
submodule: teach set-url subcommand
Signed-off-by: Denton Liu
Currently, in the event that a submodule's upstream URL changes, users have to manually alter the URL in the
.gitmodules
file then run git submodulesync
.
Let's make that process easier.Teach submodule the
set-url
subcommand which will automatically change thesubmodule.$name.url
property in the.gitmodules
file and then run git submodulesync
to complete the process.
The git submodule documentation now includes:
set-url [--] <path> <newurl>:
Sets the URL of the specified submodule to
<newurl>
.
Then, it will automatically synchronize the submodule's new remote URL configuration.