把 git 仓库的子目录独立成新仓库

项目开发中偶尔会碰到这种需求:需要把仓库中的一个子目录独立出来,成为一个全新的独立仓库。但又希望这个新仓库能保留原来所有的提交记录,方面以后查看。

如下面的目录结构所示,要将项目仓库中 component_a 目录的代码抽取出来,独立成新仓库。

- project_root
|- src
|- components
    |- component_a
    |- component_b

根据子目录新建分支

component_a 目录的提交信息抽出为新的 branch

cd {path/to/project_root}
git subtree split -P {component_a 的相对路径} -b {新分支名称}

2、新建 component_a 仓库,并从源仓库的新分支中拉内容

mkdir ~/component_a
cd ~/component_a
git init
git pull {path/to/project_root} {新分支名称}
    原文作者:meikidd
    原文地址: https://segmentfault.com/a/1190000012277504
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞