git将子目录拆分独立仓库并保存提交记录

git将子目录拆分独立仓库并保存提交记录

1. 需求说明

项目原来很大,将多个子模块柔和在一起,项目越做越大,这是需要将子模块拆分单独维护升级版本

2. 拆分独立仓库

2.1 将子目录拆分独立库

git subtree split -P <name-of-folder> -b <name-of-new-branch>

2.2 创建文件夹,拉取分支

# 1. 创建文件夹,并初始化仓库
mkdir <new-repo>
git  init


# 2 拉取分支(windows 也需要使用 / 分隔)
git pull </path/to/big-repo> <name-of-new-branch>

到此为止,已经将子文件夹拆分出了独立库

3. 清理原仓库

既然子文件夹已经拆分成独立仓库,原仓库中的子文件夹就可以放心的删除了

#1. 递归删除所有子文件价中的所有文件
git rm -rf <name-of-folder>

#2. 提交修改
git commit -m 'Remove some name-of-folder'

#3. 删除分支
git branch -D <name-of-new-branch>

4. 关联新仓库

git commit -m "first commit"

# 添加仓库源 
git remote add origin xxx.git

# 提交本地到源
git push -u origin master

参考文档:

  1. 如何将现有 git 仓库中的子目录分离为独立仓库并保留其提交历史
  2. 如何清除git仓库的所有提交记录,成为一个新的干净仓库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值