首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对git子模块进行更改,并保留更改

对git子模块进行更改,并保留更改
EN

Stack Overflow用户
提问于 2012-06-01 19:17:55
回答 2查看 12.8K关注 0票数 39

我已经将我的一个库的一个git子模块克隆到了一个我正在进行的项目中。问题是,在克隆之后,我需要更改克隆子模块中的一些行,但我不想将这些更改推到原始存储库中。

我想让这些变化留在超级工程中。这个是可能的吗?我怎样才能做到这一点?

编辑:正如@GoZoner所说,基本上是它的:

  1. git克隆foo;
  2. cd foo;
  3. git子模块init;
  4. git子模块更新;

H 111cd master;

  1. Make签出master;
  2. Make更改为submodule
  3. git提交-am "Something";
  4. git推送源( superproject);

)。

然后,当我在另一台计算机中克隆超级项目时(直到第4步),我希望将这些更改保存在超级项目中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-03 16:56:32

我认为您需要放松“不提交子模块”约束。有两种选择:

  1. 将您的子模块更改提交到子模块分支。它是您团队的分支,也是您的团队将子模块更改的位置。当有人克隆超级项目并更新子模块时,他们会获得团队分支的内容。
  2. 克隆子模块存储库‘就在’您的超级项目存储库‘旁边,并初始化子模块以指向您的克隆。然后,当您对子模块提交更改时,它们将被提交到您的克隆中。任何克隆超级项目的人都会从您的子模块克隆中获得子模块内容。

否则,我看不出有什么办法能达到你的愿望。

票数 13
EN

Stack Overflow用户

发布于 2012-06-01 19:22:07

您可以为您的更改签出一个单独的分支。别把那支树枝推起来。您确实想要推送的更改,请在原始分支之一上进行。把那个分支合并到你不向上推的特殊分支中。不要在您的特殊分支上做任何其他工作,因为这样您就必须以另一种方式合并。你可以这么做,但事情变得复杂了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10856138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档