从源项目迁移代码到本项目

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

出发点:

若依前端的vue框架目前是在仓库(自建仓库中),vue框架在目录的ruoyi-ui,考虑不想在框架更新的时候收到去粘贴代码且想同步作者更新的日志。

方法一: (存在问题,不能合并到主分支)

具体步骤:

克隆到本地(此时克隆的是整个图片上的目录,下文仓库是基于研发基础平台的代码仓库,应该保持一致)

git clone 自建仓库

  2.cd 到RuoYi-vue
  1. 过滤自己需求的目录(筛选出目录ruoyi-ui作为主目录,等待git命令窗口把其他不要的文件删除掉)

git filter-branch -f --subdirectory-filter ruoyi-ui

等待命令执行,删除完之后

目录里的内容就完全是之前ruoyi-ui里的内容

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

git push 当前代码仓库 master:origin/test

运行内容:

Enumerating objects: 4721, done.

Counting objects: 100% (4721/4721), done.

Delta compression using up to 8 threads

Compressing objects: 100% (1309/1309), done.

Writing objects: 100% (4721/4721), 1.94 MiB | 3.18 MiB/s, done.

Total 4721 (delta 3003), reused 4199 (delta 2998), pack-reused 0

remote: Resolving deltas: 100% (3003/3003), done.

remote:

remote: To create a merge request for origin/test, visit:

  • [new branch] master -> origin/test

成功执行之后,仓库里就新建了一个分支,且带更新日志

方法二:

#下载基础平台最新版本
git clone 当前代码仓库/demo.git
#切换目录
cd demo
#切换到要升级的分支
git checkout 分支名
#添加最新的版本仓库地址
git remote add gitee_ruoyi (自建远程仓库)
#拉取最新版本的仓库信息
git fetch gitee_ruoyi
#检出指定版本到本地
git checkout -b 新分支 自建远程仓库名称/远程分支名
#过滤文件
git filter-branch -f --subdirectory-filter ruoyi-ui

#查看本地代码分支
git branch
#切换到要升级的版本分支
git checkout 分支名
#执行合并操作
git merge 新分支 --allow-unrelated-histories

你可能感兴趣的:(git)