美文网首页嵌入式编程OneOS物联网操作系统想法
迁移GIT仓库并带有历史提交记录

迁移GIT仓库并带有历史提交记录

作者: 罗蓁蓁 | 来源:发表于2021-10-13 14:54 被阅读0次

迁移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

相关文章

  • 迁移GIT仓库并带有历史提交记录

    迁移git仓库 开发在很多时候,会遇到一个问题。GIT仓库的管理,特别是仓库的迁移。我需要保留已有的历史记录,而不...

  • Git迁移仓库并带有历史提交记录

    迁移git仓库 很多时候,我们会遇到一个问题。Git仓库的迁移,需要保留已有的历史记录我们可以这样做:使用 --m...

  • Git仓库迁移

    迁移Git仓库 使用场景:需要迁移某个git仓库到另一个不同的仓库 需要保留所有分支和历史提交 操作步骤 clon...

  • git仓库迁移

    昨天对git仓库进行了迁移,也遇到了些坑,记录总结一下。具体过程参考了保留提交历史的git库迁移方法,借此学习一下...

  • git高级用法

    1.git仓库迁移 利用git从一个仓库拷贝一个项目到另一个仓库,并且log也能够一起过去(提交记录等等完全迁移)...

  • 从一个git仓库迁移代码到另一个git仓库(亲测有效版)

    不保留log等提交的记录的迁移就不说了,soeasy!目标:把A仓库的代码迁移到B仓库并且保存所有的git log...

  • git仓库迁移

    公司git服务器更换,需要git仓库迁移,包含提交记录和分支。新建目录a,终端:cd agit initgit c...

  • Git仓库完整迁移全过程(包含老仓库分支等)

    包括分支以及提交记录数据的迁移。 最近公司的代码仓库由自建的git仓库迁移到了云效,经过多次测试,终于找到了最好的...

  • Git基本命令

    内容简介 获取Git仓库(init/clone) 记录每次更新到仓库(commit) 查看提交历史(log) 撤销...

  • 【重点】git在项目中常用命令

    git提交当前工作空间的修改内容并记录:git commit -m'text'查看仓库状态:git status暂...

网友评论

    本文标题:迁移GIT仓库并带有历史提交记录

    本文链接:https://www.haomeiwen.com/subject/gizsoltx.html