2016-02-12 83 views
1

我有一个项目存储库,其中有许多第三方存储库作为子模块。为了构建一切,我必须对其中一些子模块进行微小的更改。我想将这些更改保存为主要存储库历史记录的一部分(即,我无法将这些更改推送到第三方服务器,并且我不希望为了这些细微更改而在我的服务器上分发子模块)。这可能吗?保持对母仓库中git子模块的更改

回答

2

我想将这些更改保存为主要存储库历史记录的一部分(即,我无法将这些更改推送到第三方服务器,并且我不希望将子模块分叉到我的服务器只是为了这些细微的改变)。

您需要将的更改存储在某处。您的选择是:

(a)将变更保存在您正在处理的任何系统中。如果您计划在其他任何地方使用父项目,这似乎不太有用。 (b)用您自己的补丁系列维护您自己的这些项目的分支,并从这些分支中检出您的子模块,而不是从主要上游存储库中检出。这不需要很多努力,因为有免费的git托管的各种来源。

(c)让您的更改接受上游,以便您不需要携带本地修补程序。 (d)将第三方项目直接纳入您的项目,而不是将它们作为子模块包含在内。然后,您可以将更改保存为父项目的一部分。

以下哪个选项最合适取决于您的特定情况。

+0

那么,不,我不可能做我想做的事情(在父存储库中保留分叉子模块的提交历史记录)。这是我所期望的。 – user1470475