对 git 子模块的个人修改

Personal modifications to git submodule

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

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

遇到这种情况我该如何处理?如何让我的存储库跟踪我对子模块执行的更改?

最好的, 卢卡斯

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

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

A fork is a copy of a repository. Forking a repository allows you to freely experiment with changes without affecting the original project.

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