git:导入从回购到另一个回购的承诺


Git: Import commits from a repo to another repo

我为一个我创建了一个插件的项目有一个很大的Git存储库,这个插件也是带有Git的源控制器。最近我把插件的文件夹复制到主项目文件夹中。现在我有了一个由Git控制的项目文件夹源代码和插件的文件夹,它也是由Git控制的源代码。我的问题是,有没有一种方法可以将提交从插件的存储库导入到主存储库,这样我就可以摆脱插件的.git文件夹?


在项目文件夹中打开命令窗口。

确保你在树枝上。如git checkout -b plugin-history

将插件文件夹作为远程文件夹添加:git remote add plugin ../path/to/plugin/repo

从新远程获取哈希:git fetch plugin

批量挑选远程分支的所有插件历史记录:

1
git cherry-pick firstSha1^..mostRecentSha1

(这里有更多关于cherry-picking-multiple-commits的说明:如何cherry-pick multiple-commits)

然后,您应该在插件历史分支中将所有历史记录作为新提交。