git submodule推?

时间:2013-01-10 03:03:06

标签: git git-submodules

我更改了子模块中的代码,并希望与其他团队成员分享 (哇git子模块很难)

> cd to submodule
> git add/commit
> git push prompts me Username: and Password:
> Username: 
> Password: 
> error: The requested URL returned error: 403 while accessing 
> https://github.com/hovel/pybbm.git/info/refs

我知道我必须先push进行更改才能让其他人git submodule update看到更改。
我以为我要把它推到一些当地的回购中?为什么错误显示我github(原始回购),我该如何解决?

3 个答案:

答案 0 :(得分:1)

  

在其他人可以执行git子模块更新以查看更改

之前,我必须推动更改

你必须:

  • 推送子模块中所做的更改
  • 返回父级仓库,提交和推送
  • 中的一个级别

当其他人正在进行git子模块更新时,他们是从同一个父repo的克隆中进行的,它包含每个子模块的引用(地址和SHA1)。 如果您还没有推送 parent repo记录的那些special entries,即使您从子模块中推送了modif,也无法进行更新。

子模块是git仓库的克隆:你从https://github.com/hovel/pybbm.git克隆了它,这是一个你没有权利推回的地址(子模块与否)。
您需要fork that repo first,并使用该分叉作为子模块URL。

答案 1 :(得分:0)

检查你的git版本。如果您不使用git 1.7.10或更高版本,Github将使用https显示错误,如您在https://help.github.com/articles/https-cloning-errors中所见。

答案 2 :(得分:0)

那个子模块是你自己的吗?当您尝试推送到其他人的存储库时,您可能会收到403错误。如果你想更新基于某人工作的子模块,你应该建立一个该项目的分支,然后使用该分叉作为子模块。