首页 > 解决方案 > 个人对 git 子模块的修改

问题描述

我在我管理的存储库中克隆了一个第三方 git 存储库。我没有将它添加为子模块,并且我对代码进行了很多修改,这些修改可能对除我自己以外的任何人都没有用,所以我不想请求它们。

当我尝试推送我的仓库时,我收到一条警告说我有一个未添加为子模块的嵌套仓库。我知道我可以删除.git子模块的文件夹,这将允许我将修改推送到文件上,就好像它们只是普通文件一样,但不喜欢这样做的想法,特别是因为我不是代码的作者。

在这种情况下我应该如何进行?如何获取我对子模块执行的更改以由我的仓库跟踪?

最好的,卢卡斯。

标签: gitgithubgit-submodules

解决方案


您正在尝试仅使用 git 将一些第三方包含到您的环境中。最好的选择可能是fork第三方模块并将其添加到您的超级项目中。

据我所知,分叉是 GitHub 专有的一种做法。基本上,您会得到一个完全属于您的原始存储库的副本(ref)。如果你可以在 GitHub 上做到这一点,那就继续吧,让它存在于你的命名空间中,然后将它作为子模块添加到你的超级项目中。

分叉是存储库的副本。分叉存储库允许您在不影响原始项目的情况下自由试验更改。

几点建议:在您的项目中加入第三方代码时,请注意检查许可证。通过分叉,请注意不要违反您在将第三方代码添加到项目中时规定的许可协议。此外,请确保您可以接受这可能对您的项目造成的任何限制。


推荐阅读