我想将github仓库添加到我自己的仓库中。 但是,有一个我需要修复的错误。对于上述错误,已经提出了pullrequest,但尚未将其合并(我不需要向后兼容的问题)。
到目前为止,我一直在使用子模块,但是我不知道在不丢失历史记录的情况下应用pullrequest。
但是,实际上,我有一个完整的新分支,它仅位于我的存储库中,感觉不正确。
答案 0 :(得分:0)
好吧,所以您在当前目录中有一个超级项目,在子目录中有一个子模块,我们将其称为subm
:
.
|
`--subm
将PR拉入(提取并合并)到子模块中:
cd subm
git fetch origin pull/$id/head:pr-$id
git merge pr-$id
我分别展示了git fetch
和git merge
来强调合并。实际上,这些命令可以合并为一个git pull origin pull/$id/head
。
现在您有了一个更新的子模块。不幸的是,您无法将其推回其origin
,因此您的协作者必须合并自己。要解决此问题,您需要将子模块从其origin
派生到团队可用的共享存储库。然后,将合并的分支推到分支,所有协作者都从分支中拉出。
当子模块合并PR时,您将不再需要派生。卸下叉子,然后您和所有协作者都使用git pull origin +master
更新子模块。
在子模块中的每个更改上,您都需要在超级项目中提交更改:
cd .. # back to the root of the superproject
git add subm
git commit -m "Update subm"