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

写评论

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

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

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

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

0x01 需求分析

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

剩余内容需要登录才能阅读
精彩评论
  • bbql
    bbql
    1个月前

    小号测试!

    喜欢
登录后才能评论~

猜你喜欢

推荐了几个

查看更多

Nginx-基础总结

# 常规配置模板 ``` #user www www; worker_processes auto; error_log /home/wwwlogs/nginx_error.log crit; #pid /usr/loc

Windows下配置多版本PHP开发环境

Windows下配置多个不同php版本共存是件麻烦事,之前一直使用WSL2, 由于WSL2读取windows文件速度极慢,所以需要将文件上传到WSL2内部,虽然PhpStorm支持自动上传,但是文件同步不是很好。

Windows服务管理

通常可以通过`运行` -> `services.msc` 启动Windows服务管理,但是可以做的操作有限,所以主要介绍下命令行下如何管理服务。因为需要管理员权限,所以通过以下步骤启动命令行/Powershell(管理员): `运行` ->

Mysql基础命令及语法笔记

# show 命令 > help show 查看允许的show语句 ```sql show databases show tables show [full] columns from <table> show create datab

npm & yarn 更换源等常用命令或操作

由于node下载第三方依赖包是从国外服务器下载,虽然没有被墙,但是下载的速度是非常的缓慢且有可能会出现异常。所以为了提高效率,我们还是把npm的镜像源替换成国内的镜像源。

PHP如何实现Aop

在软件业,AOP为Aspect Oriented Programming的缩写,意为面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点。

MongoDB学习笔记

高性能、易部署、易使用,存储数据非常方便。不支持连表查询,不支持sql语句,不支持事务存储过程等,所以不适合存储数据间关系比较复杂的数据,一般主要是当做一个数据仓库来使用。