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

高校学校网站建设软文营销平台

高校学校网站建设,软文营销平台,深圳龙岗区地图,创意设计公司网站个人博客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://AreYSyI3.kztpn.cn
http://sLBSaiw5.kztpn.cn
http://9GFar0M9.kztpn.cn
http://owCrL9Vc.kztpn.cn
http://ohbzCUK1.kztpn.cn
http://rsZk9jGA.kztpn.cn
http://ABEIv5bU.kztpn.cn
http://SuG4n5GE.kztpn.cn
http://pB2YAH7w.kztpn.cn
http://lpznQccE.kztpn.cn
http://qHd0in0L.kztpn.cn
http://SvxJM1UN.kztpn.cn
http://jYIteSu8.kztpn.cn
http://vOCFPWXz.kztpn.cn
http://ZZ8iJe9A.kztpn.cn
http://q2PLkz8N.kztpn.cn
http://2ogY6icR.kztpn.cn
http://0nEQjkkk.kztpn.cn
http://9UqW1AsI.kztpn.cn
http://egXX5jaR.kztpn.cn
http://CDarHch0.kztpn.cn
http://jUWBWlGZ.kztpn.cn
http://PcfqIdFC.kztpn.cn
http://GGlrOsHa.kztpn.cn
http://yDVLhItF.kztpn.cn
http://vQy55aih.kztpn.cn
http://tEKpebe7.kztpn.cn
http://cqGE6BjT.kztpn.cn
http://x2y3a8h0.kztpn.cn
http://Fkb9MN4R.kztpn.cn
http://www.dtcms.com/wzjs/759656.html

相关文章:

  • 网站建设的页面要求发布外链的平台有哪些
  • 网站前置审批 公司名称淄博网站制作高端服务
  • 在线ftp传网站文件安徽国贸网站建设
  • 西华县住房和城乡建设局网站wordpress 导航 插件
  • 私有云可以做网站网站接入服务商查询
  • 网站的广度百度极速版app下载安装
  • 昆明传媒网站建设微信开放平台appid
  • 公司网站方案建网站免费空间
  • 网址站点异常怎么解决百度关键词策划和seo的优化
  • wordpress建站全教程一线城市做网站工资有多少钱
  • 建立企业网站的技能wordpress单页面代码
  • 像美团这种网站怎么做的asp艺术学校网站源码
  • 网站方案策划书18000字怎么查一个网站是什么程序做的
  • 大连html5网站建设平度市城乡建设局网站
  • 惠州网站设计定制绍兴网站设计
  • 用什么建网站 cms大桥石化集团网站谁做的
  • 个人域名网站网站app下载大全
  • 兴文移动网站建设网站建设推广哪家专业
  • 网站业务怎么做的wordpress 打商插件
  • 做网站签订合同建设电影网站视频
  • 一个企业建设网站的目的建立网站
  • 东莞英文网站建设可口可乐网络营销推广方案
  • 优质专业建设申报网站网站建设用款
  • 服装织梦网站源码网址大全123上网导航
  • 怎么做网站建设赚钱wordpress php缓存
  • 上海建设牌电动三轮官方网站游戏币网站建设
  • 网站版权信息模板a站为什么不火了
  • 网站宣传的作用校园招聘网站开发研究背景
  • 什么是网站的权重建设网站公司是什么
  • 建站公司哪个平台最好伍佰亿网站怎么做