gpt4 book ai didi

git - 将 git 子模块协议(protocol)从 git 替换为 http

转载 作者:IT王子 更新时间:2023-10-29 01:07:11 26 4
gpt4 key购买 nike

我从 git@... URL 添加一个子模块,以便能够在其中进行开发。现在我想部署应用程序并将 URL 替换为 git://... 一个,因此它不需要从 Capistrano 对子模块的 repo 进行身份验证。编辑 .gitmodules 中的 URL 是否足以完成此操作?

最佳答案

编辑 .gitmodules 文件(然后提交并推送它)对于任何克隆来说都足够了。

此外,当子模块被初始化时(例如 git submodule init …git submodule update --init …git clone --recursive … 等)它的 URL 从 .gitmodules 文件复制到存储库的 .git/config 文件。

因此,如果您有任何现有“部署克隆”(您现在想要通过 git://... URL 访问子模块的克隆),您还将必须更新他们的 .git/config 中的 URL。您可以使用 git submodule sync 自动将子模块 URL 从当前 .gitmodules 文件复制到您的 .git/config 文件(即一旦您已提取更新 .gitmodules 文件的提交)。

.git/config 中的子模块 URL 通常不会自动更新,因为在某些情况下您只想在某些情况下覆盖 URL。具体来说,您通常希望在存储库的 .git/config 中使用 git@... URL(这样您就可以通过 SSH 推送),但是将 git://... .gitmodules 中的 URL(这样一般公众就不需要进行基于 SSH 的身份验证)。

关于git - 将 git 子模块协议(protocol)从 git 替换为 http,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6631694/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com