网站首页 > 精选文章 正文
迁移git仓库
开发在很多时候,会遇到一个问题。GIT仓库的管理,特别是仓库的迁移。我需要保留已有的历史记录,而不是重新开发,重头再来。
我们可以这样做:
使用--mirror模式会把本地的分支都克隆。
// 先用--bare克隆裸仓库
git clone git@gitee.com:xxx/testApp1.git --bare
// 进入testApp1.git,这样就可以把所有分支都克隆到新仓库了
git push --mirror git@gitee.com:xxx/testApp2.git
我们还可以这样做:
git remote add gitlab git@gitee.com:xxx/testApp2.git
git push gitlab
git checkout dev
git push gitlab
...
这样的方法是,把testApp2作为新增的远程仓库,然后使用push一次推送一个分支。这种方式的好处是:迁移的git仓库,只需迁移指定的分支。
迁移git仓库子目录
上面的方法是整个仓库的迁移,但如果只想迁移git仓库的子目录,则可以使用git subtree,比如想要把仓库目录thirdparty\telnetd拆分出去作为一个新的库,并且还要带上她所有的历史提交记录。
首先,我们同样需要新建一个新的空仓库(注意:不要带有任何初始化文件,包括README.md)。
然后,到主仓库执行以下git命令,就可以看到telnetd仓库已有代码了。
git subtree push --prefix=thirdparty/telnetd git@gitee.com:components/telnetd.git master
这样,就完成子目录的迁移啦,就是有个问题,好慢~
关注&&联系
gitee: https://gitee.com/cmcc-oneos/OneOS-Lite
docs: https://oneos-lite.com/
公众号:CMCC-OneOS
- 上一篇: 如何让Config Server支持多个Git仓库?
- 下一篇: 实现多个git仓库源代码同步
猜你喜欢
- 2025-01-20 将 node_modules 目录放入 Git 仓库的优点
- 2025-01-20 微软开源Scalar 提升操作巨型Git仓库的速度
- 2025-01-20 把一个 Git 仓库打包成 zip 压缩包
- 2025-01-20 不同主机迁移git仓库Gitolite
- 2025-01-20 同步GIT仓库的操作 -- fetch命令
- 2025-01-20 git log 命令用法实例 (2)
- 2025-01-20 还在为 Git 仓库瘦身头疼?快来试试 repo-clean
- 2025-01-20 自建Git服务器 - 创建属于你自己的代码仓库,开启你的Git私服之旅
- 2025-01-20 中央仓库管理-基于工作空间和git-submodule实现共用和管理
- 2025-01-20 从零开始,小白也能学会的创建Git仓库实操
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)