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

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

我希望这些更改留在超级项目中。 这可能吗? 我怎样才能做到这一点?

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

  • git clone foo;
  • cd foo;
  • git submodule init;
  • git子模块更新;
  • cd路径/到/子模块;
  • git checkout master;
  • 更改子模块
  • git commit -am“Something”;
  • git push origin(超级项目);
  • 然后,当我在另一台计算机上克隆超级项目时(直到第4步),我希望在超级项目中保存这些更改。


    我认为你需要放松'不承诺子模块'约束。 有两种选择:

  • 将您的子模块更改提交给子模块分支。 这是你的团队的分支,也是你的团队改变你的子模块的地方。 当有人克隆超级项目并更新子模块时,他们会获得团队分支的内容。
  • 克隆“您的超级项目存储库”旁边的子模块存储库,并初始化子模块以指向您的克隆。 然后,当您将更改提交到子模块时,它们将被提交给您的克隆。 任何克隆超级项目的人都会从您的子模块克隆中获取子模块内容。
  • 否则,我没有办法实现你的愿望。


    您可以为您的更改签出单独的分支。 不要推动这个分支。 您想要推送的更改,请在其中一个原始分支上进行。 将该分支合并到您不推高的特殊分支中。 不要在你的特别分支上做任何其他的工作,因为你必须以另一种方式合并。 你可以做到这一点,但它变得复杂。

    链接地址: http://www.djcxy.com/p/16431.html

    上一篇: Make change to a git submodule, and keep the changes

    下一篇: Git Submodules. Pulling into a new clone of the super