gpt4 book ai didi

git - git 子模块的不同推/pull url

转载 作者:太空狗 更新时间:2023-10-29 13:01:36 25 4
gpt4 key购买 nike

我正在使用 git superproject pattern在由没有存储库帐户的 Teamcity 构建代理部署的大型项目中,但是存储库设置为允许匿名克隆。出于这个原因,我使用它们的 http:// url 而不是它们的 git url 来设置子模块。这个问题是存储库拒绝 http 推送:

Total 0 (delta 0), reused 0 (delta 0)
error: RPC failed; result=22, HTTP code = 401
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly

所以每次我在切换分支时更新子模块,我都必须执行 git remote add-url --push 来添加 git:// url。

有什么方法可以在 super 项目中设置子模块,使它们已经使用 http:// url 进行 pull ,并使用 git:// url 进行 pull 推?

最佳答案

LibreOffice project also uses submodules并包括:

By default you submodules repository is in a state called 'detached HEAD' that means that the commit checked-out -- which is the one that the super-project (core) need -- is not associated with a local branch name.

Don't forget to add a correct pushurl for the submodule you are working on or you will not be able to commit.

$ editor .git/modules/submodule/config

And in the section [remote "origin"] add:

pushurl = ssh://logerrit/submodule

(类似于 soulseekahcomment )(在您的情况下,使用 git:// 地址)

您也可以通过(在子模块内)完成

git config remote.origin.pushurl git://...

如果您不这样做,如 this project 中所示,你会得到:

fatal: The remote end hung up unexpectedly

关于git - git 子模块的不同推/pull url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16080415/

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