当前位置: 首页 > news >正文

做异形建筑的网站广东网站备案查询系统

做异形建筑的网站,广东网站备案查询系统,中企动力是做什么的?,微信小程序多少钱一个个人博客https://www.yotroy.cool/,感谢关注~ 图片资源可能显示不全,请前往博客查看哦! 说来惭愧,这篇是AI帮助我解决实际问题后,又生成的一篇博客,效率特别高。 在开发中,我们常会…

个人博客https://www.yotroy.cool/,感谢关注~
图片资源可能显示不全,请前往博客查看哦!

============================================================

说来惭愧,这篇是AI帮助我解决实际问题后,又生成的一篇博客,效率特别高。

在开发中,我们常会遇到一个项目变大、拆分或者整合的需求。如果你想将一个已有 Git 提交历史的小项目(例如:bbb/)合并到另一个新的 Git 仓库(例如 GitHub 上新建的仓库 aaa),并保留其所有提交历史记录,这篇博客将为你总结完整的操作流程和注意事项。

🧩 问题背景

我本地有一个项目叫 bbb/,它是一个完整的 Git 仓库,有自己的提交历史。但我后来希望将它作为子目录的形式迁入另一个新的仓库 aaa/ 中去,也就是想要实现结构如下:

aaa/
└── bbb/     # 原项目内容在这里,保留所有 commit 历史

但是直接复制粘贴代码会丢失原始提交历史记录;而直接合并 .git 会导致仓库结构错乱。


🧪 我遇到的问题

一开始,我使用了 git filter-repo 来把项目目录转换成子目录的历史,但目录嵌套出现了问题,执行完:

python -m git_filter_repo --to-subdirectory-filter bbb --force

之后,目录变成了:

bbb/bbb/your-files...

也就是说,子目录又包了一层自己的名字,导致整个目录嵌套了一层,不符合我的预期。


✅ 正确的操作流程

以下是正确的迁移流程,总结如下:


📁 假设目录结构如下

/your-path/
├── bbb/   # 原项目,有完整 Git 历史

🔨 步骤 1:在 GitHub 上创建新仓库 aaa

比如:

  • 仓库名:aaa

  • GitHub 地址:git@github.com:yourname/aaa.git


🧪 步骤 2:在 bbb 目录中运行 git filter-repo

需要安装 git filter-repo ,教程可查看附录。

这一步会把整个项目的 Git 历史“包裹进” bbb/ 子目录中:

cd bbb
python -m git_filter_repo --to-subdirectory-filter bbb --force

执行完后,项目结构会变成:

bbb/
└── bbb/└── your-original-code...

(此时你的代码被包进了 bbb/


🧼 步骤 3:整理目录结构(可选)

这里你需要把 bbb/bbb/ 中提交的数据拉回到 bbb/ 中。


🌐 步骤 4:推送到远程仓库(aaa)

  1. 初始化 GitHub 仓库(如果还没 init 的话):

    git remote add origin git@github.com:yourname/aaa.git
    
  2. 推送代码及其历史记录:

    git push -u origin main
    

如果你当前分支不是 main,请先切换:git checkout -b main


🎉 最终效果

在 GitHub 上打开 aaa 仓库,你将看到代码出现在 bbb/ 子目录中,且每一次提交都被完整保留。


📎 附录:如何安装 git_filter_repo

git_filter_repo 是一个替代 git filter-branch 的高效工具,用于重写 Git 历史。由于它不是 Git 默认安装的一部分,我们需要手动安装。

✅ 方法一:通过 pip 安装(推荐)

适合大多数开发者,只需要有 Python 环境即可。

pip install git-filter-repo

安装后,你可以通过以下方式使用:

python -m git_filter_repo --help

⚠️ 注意:如果你运行 git filter-repo 报错(如 “git: ‘filter-repo’ is not a git command”),说明你的环境变量中没有自动添加别名,建议直接使用:

python -m git_filter_repo ...

✅ 方法二:手动安装脚本并加入 Git 命令目录(进阶)

适合想直接使用 git filter-repo 命令的用户:

  1. 前往 GitHub 下载脚本:

    👉 https://github.com/newren/git-filter-repo

  2. 下载 git-filter-repo.py 文件,重命名为 git-filter-repo(无后缀)

  3. 将该文件放入 Git 的执行目录中,例如:

    C:\Program Files\Git\mingw64\libexec\git-core\

  4. 确保该目录在系统环境变量 PATH 中

完成后,即可直接使用任一命令:

git filter-repo ...
python -m git_filter_repo ... //或使用Python命令
http://www.dtcms.com/a/469046.html

相关文章:

  • 飞鱼网站建设wordpress图片弹出
  • 常州快速建站模板什么网站免费做简历
  • angularjs网站开发实例网站建设和推广的完整话术
  • 东莞快速建站平台杨和网站建设
  • 住房和城乡建设部网站加装电梯网站做百度推广划算吗
  • 手机端网站建设广告词做外贸的网站主要有哪些
  • 青岛制作企业网站的公司二手车做网站的目的
  • 做本地信息网站要注册什么类型公司pc网站转换手机网站代码
  • 网站怎样和首页做链接地址景区网站的建设公司
  • 合肥建网站要多少钱淘宝怎么开店铺卖货
  • 石家庄手机网站制作多少钱做网站的 视频
  • xp配置网站服务器沧州高端网站建设
  • 数字城市建设网站免费在线网站
  • 营销网站建设的步骤太原建站模板网站
  • 安吉网站建设可信网站认证多少钱
  • 想做外贸去哪个网站做怎么做电影网站不违法
  • 分类信息网站制作温州百度seo排名
  • 临沂做网站企业佛山专业网站设计公司
  • 网站ico图标怎么做网站建设思路
  • 微信制作网站设计c2c网站代表和网址
  • 重庆可以建建网站的平台注册公司流程和费用是多少
  • 网站开发工程师 能做什么建筑常用的模板下载网站有哪些
  • 上海华亮建设集团网站开发视频网站多少钱
  • 什么是网站网站建设公司net2006
  • 美食网站设计目的国家企业信用信息公示系统官网app
  • 哪里做百度网站安阳做网站
  • 网站首页新闻模板网站建设源代码
  • 管理网站制作白银市建设局网站
  • 临沂建网站哪家好如何建设 linux 网站
  • 西安长安区建设局网站google play服务