如何将现有 git 仓库中的子目录分离为独立仓库并保留其提交历史

Write Comment

如何将现有 git 仓库中的子目录分离为独立仓库并保留其提交历史

卷心菜 卷心菜
Abstract 本文介绍了如何将现有Git仓库中的子目录独立成新仓库并保留提交历史,包括使用git subtree和git filter-branch两种方法,并提供了清理原仓库和关联新旧仓库的步骤。

这几天想要把一个 git 仓库中已经存在的一个子文件夹独立成一个新的 git 仓库,并且保留之前关于此文件夹的所有提交历史。不过我对 git 并没有这么精通,只好上网搜索之。可能是因为我关键词抓得不准,搜了好一会儿才找到可行的方案,所以写篇博文记录一下,希望能帮到后来人。

另外,在 git 里这种掌控历史的感觉真棒(笑)

0x01 需求分析

我为什么会有如本文标题所述这样的需求呢?这是因为我之前把所有为 Blessing Skin 这个程序编写的插件源码都放在一个 git repo 中了,每个子文件夹中都是一个独立的插件(因为嫌麻烦所以一股脑给塞进一个仓库里了),并且对每个子文件

Login required to read the rest of the content

登录 to comment~