2

我更改了子模块中的代码并希望与其他团队成员共享。
(哇 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(original repo),我该如何解决?

4

3 回答 3

1

我必须先推送更改,然后其他人才能执行 git submodule update 以查看更改

你必须:

  • 推送子模块中所做的更改
  • 在父 repo 中返回上一级,提交并推送

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

子模块是 git repo 的克隆:您从https://github.com/hovel/pybbm.git克隆了它,这是一个您无权推回的地址(子模块与否)。
您需要先分叉该 repo,然后将该分叉用作您的子模块 url。

于 2013-01-10T07:07:12.607 回答
0

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

于 2013-01-10T07:09:26.797 回答
0

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

于 2013-01-10T03:38:27.307 回答