【发布时间】:2012-06-07 00:58:32
【问题描述】:
我已将我的一个库的一个 git 子模块克隆到我正在处理的项目中。问题是,克隆后,我需要更改克隆子模块中的一些行,但我不想将这些更改推送到原始存储库中。
我希望这些更改保留在超级项目中。这可能吗?我怎样才能做到这一点?
编辑:正如@GoZoner 所说,基本上是它:
- git clone foo;
- cd foo;
- git 子模块初始化;
- git 子模块更新;
- cd 路径/到/子模块;
- git checkout master;
- 更改子模块
- git commit -am "Something";
- git push origin(超级项目);
然后,当我在另一台计算机上克隆超级项目时(直到第 4 步),我希望将这些更改保存在 超级项目中。
【问题讨论】:
-
当您说“我希望这些更改保留在超级项目中”时,您的意思是:当有人执行“git clone
foo; cd foo; git submodule init; git submodule update”时,他们应该有包含我对克隆子模块的更改的工作目录? -
@GoZoner 是的 - 但子模块中的更改不应推送到其原始存储库。我将根据您的评论重新构建问题。
-
对,这就是我认为你在问的问题,我认为这不可能。 Git 专门标记包含子模块的目录,并且不会在该目录之外查找“本地”更改。
标签: git git-submodules