2013-02-25 109 views
1

我有一个回购与一些外部git回购作为子模块。我对这些子模块做了一些改变,但是我没有办法将它们推向上游。如何将我的更改提交到回购站而无需向上游推送?我对有子模块的不同步副本感到满意。一种方法是克隆外部回购作为只是删除.git目录作为目录对待他们,但我已经有一个子模块设置,我想避免,如果可能的话。承诺git submodule回购

回答

1

您可以将子模块更改提交到您的本地回购,但克隆它的任何人都不会看到这些更改,除非您将它们推送到上游。这就是说,你不一定要把这些变化上游推到你得到它们的地方。您可以在保留主库的同一台服务器上克隆子模块的副本,然后将更改推送到该副本。

您必须做出的唯一改变是您必须重新初始化子模块来自服务器,而不是原始的仓库。

+0

你可以举一个例子,说明如何重新启动外部子模块以便能够推送给它们,而不是推向上游? – pbp 2013-02-25 20:57:40

+0

您可以编辑'.gitmodules'文件,然后运行'git submodule sync'(http://stackoverflow.com/questions/913701/changing-remote-repository-for-a-git-submodule)。 – 2013-02-25 21:00:39