git 迁移项目中某个目录到一个已经存在的项目

git 迁移项目中某个目录到一个已经存在的项目

需求

需求,一个多模块的项目要将其中的部分功能迁移到一个新的项目,带着提交记录一起迁移,新项目git 已经存在部分目录。核心需求就是想带着git 提交记录一起去。

步骤

1、克隆到自己本地
git clone git@github.com:mybatis/spring-boot-starter.git

目录list

$ ls -l | grep  'mybatis'
drwxr-xr-x   6 wangji  staff    192 12 20 23:09 mybatis-spring-boot-autoconfigure
drwxr-xr-x  17 wangji  staff    544 12 20 23:09 mybatis-spring-boot-samples
drwxr-xr-x   5 wangji  staff    160 12 20 23:09 mybatis-spring-boot-starter
drwxr-xr-x   5 wangji  staff    160 12 20 23:09 mybatis-spring-boot-starter-test
drwxr-xr-x   6 wangji  staff    192 12 20 23:09 mybatis-spring-boot-test-autoconfigure

2、 过滤自己需求的目录

以 mybatis-spring-boot-samples 为例子

$ git filter-branch -f --subdirectory-filter mybatis-spring-boot-samples
Rewrite ecdbae5e25b2f74b53a7c6ac33bb3acdd4b77a36 (193/209) (11 seconds passed, remaining 0 predicted)
Ref 'refs/heads/master' was rewritten

目录list,这里其他的都被删除了 mybatis-spring-boot-samples 作为主目录了

$ ls -l | grep  'mybatis'
drwxr-xr-x  6 wangji  staff   192 12 20 23:13 mybatis-spring-boot-sample-annotation
drwxr-xr-x  6 wangji  staff   192 12 20 23:13 mybatis-spring-boot-sample-freemarker
drwxr-xr-x  6 wangji  staff   192 12 20 23:13 mybatis-spring-boot-sample-freemarker-legacy
drwxr-xr-x  6 wangji  staff   192 12 20 23:13 mybatis-spring-boot-sample-groovy
drwxr-xr-x  6 wangji  staff   192 12 20 23:13 mybatis-spring-boot-sample-kotlin
drwxr-xr-x  6 wangji  staff   192 12 20 23:13 mybatis-spring-boot-sample-thymeleaf
drwxr-xr-x  6 wangji  staff   192 12 20 23:13 mybatis-spring-boot-sample-velocity
drwxr-xr-x  6 wangji  staff   192 12 20 23:13 mybatis-spring-boot-sample-velocity-legacy
drwxr-xr-x  6 wangji  staff   192 12 20 23:13 mybatis-spring-boot-sample-war
drwxr-xr-x  6 wangji  staff   192 12 20 23:13 mybatis-spring-boot-sample-web
drwxr-xr-x  6 wangji  staff   192 12 20 23:13 mybatis-spring-boot-sample-xml

3、推送到目标git 地址 目标仓库

从当前master分支推送一个到远程的新项目origin/test 分支

git push git@git@github.com:xxxPerson/test.git/test.git master:origin/test

日志记录

$ git push git@git@github.com:xxxPerson/test.git/test.git master:origin/test
Enumerating objects: 2728, done.
Counting objects: 100% (2728/2728), done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1057/1057), done.
Writing objects: 100% (2728/2728), 268.16 KiB | 12.19 MiB/s, done.
Total 2728 (delta 1284), reused 2467 (delta 1177)
remote: Resolving deltas: 100% (1284/1284), done.
To git@github.com:xxxPerson/test.git/test.git
 * [new branch]        master -> origin/test

4、基于这个分支在改改改

基于这个分支在改改改… 然后和主干合并一下即可,有了提交记录…

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值