[英]git: change origin of cloned submodule
我创建了一个项目submodule
并将其放在 Github 上。
我创建了另一个项目supermodule
,然后执行以下操作:
cd supermodule
git init
mkdir lib
git clone git://github.com/tandu/submodule lib/submodule
git submodule add ./lib/submodule lib/submodule
这工作正常,但在网站上,查看文件时找不到子模块的链接(实际上它只是永远说“加载提交数据”)。 子模块文件夹本身具有正确的origin
。
显然,我应该做的是
...
mkdir lib
git submodule add git://github.com/tandu/submodule lib
……但现在为时已晚。 我怎样才能让这个项目中的子模块正确指向origin
?
这显然在很大程度上取决于您使用的 git 版本。
.gitmodules
文件的[submodule "<dirname>"]
部分中的url
条目。.git/config
文件的[submodule "<dirname>"]
部分中的url
条目。url
。 config
文件的位置取决于版本。 旧版本在<dirname>/.git/config
,新版本在.git/modules/<dirname>/config
。 但是,您始终可以使用以下命令:cd <dirname>
git config remote.origin.url <new_url>
在其他问题中,我找到了更现代的 Git 版本(2.25)的答案
git submodule [--quiet] set-url [--] <path> <newurl>
假设您在目录external/foo-lib
有子模块,其来源是https://github.com/example-user/foo-lib.git
并且您想将其更改为您的分支https://github.com/your-account/foo-lib.git
然后在 git 项目类型的根目录中:
git submodule set-url external/foo-lib https://github.com/your-account/foo-lib.git
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.