如何将跟踪文件夹更改为git子模块

如何将跟踪文件夹更改为git子模块,git,git-submodules,Git,Git Submodules,我想将项目中的一个文件夹更改为子模块。 这是我的(sumplified)目录结构: |-app <- the root of git project |--themes |--plugins |--lib |-app我设法回答了自己的问题。也许我发得太早了。尽管如此,它可能会在未来帮助一些人: 为了将当前项目中跟踪的文件夹转换为该项目的子模块,我采取了以下步骤: 初始化文件夹中的新存储库,该文件夹稍后将成为子模块 将内容提交到远程服务器 使用git rm-rf从主项目中删除此文件夹

我想将项目中的一个文件夹更改为子模块。 这是我的(sumplified)目录结构:

|-app <- the root of git project   
|--themes
|--plugins
|--lib

|-app我设法回答了自己的问题。也许我发得太早了。尽管如此,它可能会在未来帮助一些人:

为了将当前项目中跟踪的文件夹转换为该项目的子模块,我采取了以下步骤:

  • 初始化文件夹中的新存储库,该文件夹稍后将成为子模块
  • 将内容提交到远程服务器
  • 使用
    git rm-rf
    从主项目中删除此文件夹
  • 现在使用
    rm-rf
    执行相同的操作
  • 转到项目根目录(main
    .git
    所在的位置)
  • 执行
    git子模块add
  • 删除对文件夹的引用,该文件夹现在是主
    .gitignore
    (如果已在那里引用)的子模块

  • 希望它能对某些人有所帮助。

    Git子模块在纸面上听起来不错,但使用起来很痛苦。改用git子树。它帮助了我,还有。因此,感谢您发布它:)