2012-05-18 96 views
0

我的项目(git项目)基于其他人维护的几个git项目,我认为git的子模块会使它更好。 (可能是其他git函数?)使用子模块重组git项目

我将所有更新都提交给我的项目,也就是说,我将他们的项目克隆到我的子文件夹而不是子模块,并且有时候提取他们的项目,然后将其提交给我项目,因为我需要他们的最新版本。

之后,我的git项目包含了很多无聊的东西。当我区分头部时。这些天我学到了一些git的基本技能,意识到它应该是一个子模块。但我的项目已经在这里。我想重新组织我的项目。但我不能说最好的做法是以最小的代价完成这项任务。

主要问题是我不想丢失我的项目中的提交消息或从初始点重建我的git项目。此外,项目的更新消息是从提交中提取的。

关于此问题的最佳程序?

也许这恰恰相反呢? un-submodule a git submodule

回答

0

基本过程将删除现有的子项目,然后将它们添加为子模块。如此简单:

git rm -r mySubproject 
git submodule add <repository> mySubproject 
git add .gitmodules mySubproject 
git commit -m 'mySubproject as a submodule'