Git submodule url changed

ε祈祈猫儿з 提交于 2020-01-26 20:31:04

问题


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 url. Should I commit the .gitmodules file so that the next time I checkout my project and do git submodule update --init --recursive I won't get an error?


回答1:


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.




回答2:


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 submodule sync.
Let's make that process easier.

Teach submodule the set-url subcommand which will automatically change the submodule.$name.url property in the .gitmodules file and then run git submodule sync 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.



来源:https://stackoverflow.com/questions/35902895/git-submodule-url-changed

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!