将git-submodule合并到git repo中。现有文件会发生什么?

时间:2014-07-26 08:52:28

标签: git git-submodules

我可能在这里采用了错误的方法,但这就是我想做的事情,我不知道该怎么做:

我有一个源代码树(一个magento商店),这是一个大的git repo。 magento可以通过扩展进行扩展,我确实安装了一个。扩展名基本上是另一个源树,它被复制到主源树中,因此被添加到主仓库中。

现在我想添加新版本的扩展程序。我可以复制新的源代码树,这将覆盖我自己的更改。我想做的是将更新后的源代码树合并到主仓库中。

我的印象是,我可以将扩展源树添加为git-submodule。我将如何做以及现有文件会发生什么,现在在主仓库中进行跟踪,但应该在git-submodule中跟踪(据我所知)。

1 个答案:

答案 0 :(得分:0)

子模块是gitlink, a special entry in the git index 如果该子模块的文件夹已经版本化,则不会创建该条目。

首先需要删除该文件夹(如果您在该子文件夹中添加了更改,请保存更改):

  • 如果版本化:git rm -r subfolder
  • 如果不是:rm -Rf subfolder

然后将该扩展名添加为子模块:

git submodule add /url/to/extension/repo subfolder
git submodule update --init