[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fYSYBWQ5maVbzhZfE2xaG0PRNorGgEQWQOEP4NWhrSns":3},{"code":4,"message":5,"data":6},200,"成功",{"id":7,"createdAt":8,"title":9,"content":10,"summary":11,"image":12,"uid":13,"user":14,"categoryId":21,"category":22,"subCategoryId":24,"subCategory":25,"comments":27,"status":17,"reason":12,"notice":12,"visitCount":28,"commentCount":29,"keywords":30},163,"2025-06-06T09:53:36.648Z","git仓库迁移操作-git mirror","我们在开发过程中，有时候会遇到要迁移代码仓库的场景，比如代码之前托管在github上，但是想要迁移到其他的托管平台（像阿里的云效、腾讯的e-coding、公司的gitlab等），或者从一个仓库迁移到同托管平台的另一个仓库repository，并且要保持将所有的提交记录、标签等内容都同步过去，是可以通过git自带的命令实现的。\n\n这篇文章简要描述一下如何开始做代码的迁移。\n\n1. 已有某一个git仓库，比如我们把这个仓库叫仓库A，它的git clone地址假设为：\n```\nhttps形式：https://github.com/A.git\nssh形式：git@github.com:XXX/A.git\n```\n\n需要将仓库A迁移到仓库B.\n\n2. 新建仓库B\n在你想要迁移到的托管平台上，新建一个仓库，切记以下内容：\n> 新建仓库时不要选择添加 README、.gitignore 或许可协议，确保仓库为空\n\n仓库B的地址假设为：\n```\nhttps形式：https://github.com/B.git\nssh形式：git@github.com:XXX/B.git\n```\n\n3. 克隆仓库A的裸代码\n裸仓库bare repository中包含了所有git对象和历史记录，但是没有工程文件。\n\n选择一个文件夹位置，比如在桌面上新建一个文件夹:git_dir\n```terminal\ncd ~/Desktop # 进入到桌面\nmkdir git_dir # 创建文件夹git_dir\n```\n\n然后终端进入到这个文件夹中，执行克隆裸仓库.\n\n```terminal\ngit clone --bare git@github.com:XXX/A.git # 这里的git地址是仓库A的git地址\n```\n\n生成的裸仓库就是一个.git为扩展名的文件夹.\n\n4. 进入.git的裸仓库文件夹中\n```terminal\ncd A.git # 进入生成的以.git扩展名的文件夹中\n```\n\n5. 推送裸仓库到仓库B\n```terminal\ngit push --mirror git@github.com:XXX/B.git # 这里的git地址就是你需要的新仓库git地址\n```\n\n> --mirror参数可以将所有分支、标签和远程引用全部推送到目标仓库\n\n6. 结束\n上面的几个步骤执行完成后，就可以登录到仓库B，看仓库B中的代码、标签、分支、引用等都完整的从仓库A中拷贝过来了。\n\n希望对有的同学有帮助，到此结束。\n\n\n","这篇文章简要介绍一下如何进行git仓库的迁移，比如从github上完全克隆到gitlab上，指的是如何从一个托管平台，迁移到另一个托管平台。","",499668042977349,{"phone":15,"userId":13,"nickName":16,"vipType":17,"avatar":18,"sign":19,"createdAt":20},"13121171998","全栈老韩",1,"https://image.xinwei.ltd/images/IMG_5430.JPG","全栈工程师，擅长iOS App开发、前端（vue、react、nuxt、小程序&Taro）开发、Flutter、React Native、后端（midwayjs、golang、express、koa）开发、docker容器、seo优化等。","2024-01-01T16:14:30.305Z",2,{"id":21,"name":23},"IT技术",31,{"id":24,"name":26,"parentId":21},"git&svn",[],61,0,"git mirror,git clone --bare,bare repository,git bare,git clone,git仓库,git迁移"]