如何把其他代码托管平台git仓库迁移到github还保留历史日志记录?图解步骤,值得收藏!

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 我在其他的代码托管平台(不是github)有一套代码,不同代码托管平台之间没有相互迁移的功能,怎么将仓库代码提交到github仓库呢?我会讲解适合于所有不同托管平台Git仓库之间的迁移方法,所以就不要老是抱怨着为什么没有外部仓库迁移过来的功能了。

  我在其他的代码托管平台(不是github)有一套代码,不同代码托管平台之间没有相互迁移的功能,怎么将仓库代码提交到github仓库呢?

直接从代码托管平台下载再上传github吗?

 这样会丢掉每一次提交记录,相当于历史提交的日志全没了,这也太糟糕了。

接下来,我会讲解方法。这适合于所有不同平台Git仓库之间的搬运。所以就不要老是抱怨着为什么没有外部仓库迁移过来的功能了。

一、在不同代码托管平台迁移自己的仓库

这里以其他托管平台代码迁移到github为例。

第一步
github上新建一个repository


第二步

为了本地仓库和远程仓库建立连接,把我选中的这一行在命令行执行

git remote add origin git@github.com:liuchenyang0515/MyWiki.git
AI 代码解读

  结果发现remote origin已经存在,废话,本来就是在别的托管仓库的,origin当然存在了。你可以用git remote -v看看远程仓库关联的信息。

第三步
  删除原来关联的origin的远程库,与现在新的github远程仓库建立关联。执行如下

git remote rm origin

git remote add origin git@github.com:liuchenyang0515/MyWiki.git
AI 代码解读

这样就删除了原来的远程仓库关联信息,与github远程仓库建立了新关联,就可以随意修改代码推送到github了。


二、在不同代码托管平台迁移别人的仓库(包含跟随网课视频运行别人每次提交的懒人学习法)

  道理其实是一样的,就是把别人的仓库先Fork一份到自己的仓库。然后将自己的仓库在不同平台之间搬运。这个步骤和第一节一样。

  更有甚者,还有小伙伴和我一样有这个奇葩需求。有这个需求,小伙子你一定是个爱学习的人呐哈哈哈~

  我跟着视频学习课程,老师有一套课程代码在某托管仓库(不是github),并且只有一个master分支,但是有几百次提交记录,我想跟着课程比如从第5次提交记录的代码处开始,跟着老师的课程边学习边敲代码,最后提交到我自己的github仓库。这个怎么实现呢?

我们把这个问题分为两个步骤
1.我要把老师提交的几百次记录恢复到第5次提交处,这样方便我跟着视频边学习边敲代码。
2.我要把这个托管平台的代码迁移到github

第一个步骤
  首先Fork一份老师的代码到自己的仓库,然后将Fork后的仓库克隆到本地。接着我是利用source tree,选择指定历史日志处的提交记录,点击"分支"

输入新分支的名字,然后点击确定。

  然后新分支出现了,第5节的历史记录的日志被加粗,说明你已经到这一步的记录里来了,现在可以整个项目的第5节开始跟着视频一起敲代码学习了。

然后敲了代码后后提交

  根据图谱,你可以看到,我提交的已经是另一条分支线了,这样我就从老师第5次提交开始的记录进行修改学习了。

  不过别忘了,你现在还不是在github仓库提交的,所以你得把代码迁移到github平台。

第二个步骤

  这个和第一节在不同平台迁移自己的仓库一样,目的就是为了将仓库的代码转移到github平台。如果忘记了请往上翻阅,然后大家一起愉快的敲代码吧~

懒人快速学习法

  如果说,你想快速学习视频,不想一行一行敲代码,视频每一次commit提交,你都想跟随视频运行一下看看结果,你完全可以利用IdeaGit工具,这是一个快速学习的好方法。

如图所示,选择Checkout Revision 'xxxxx',切换到每一次提交处的代码,可以启动运行学习一下。




欢迎一键三连~



有问题请留言,大家一起探讨学习



----------------------Talk is cheap, show me the code-----------------------

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
打赏
0
0
0
0
128
分享
相关文章
解决 git 报错 “fatal: unable to access ‘https://github.com/.../.git‘: Recv failure Connection was rese
在使用 Git/Git小乌龟 进行代码管理的过程中,经常会遇到各种各样的问题,其中之一就是在执行 git clone 或 git pull 等操作时出现 “fatal: unable to access ‘https://github.com/…/.git’: Recv failure Connection was reset” 的报错。这个问题通常是由网络连接问题或代理设置不正确导致的。在我的个人使用经验中,我亲自尝试了四种方法,它们都能够有效地解决这个报错。个人比较推荐方法二。
734 0
在Linux下配置gitee与Github的远程仓库
注意,git push后,是输入你的账号与密码。这个步骤可以通过特殊设置省去,但是一开始还是不要太省。
83 0
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
GitHub MCP Server是基于Model Context Protocol的服务器工具,提供与GitHub API的无缝集成,支持自动化处理问题、Pull Request和仓库管理等功能。
818 2
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
GitHub封锁?推荐5个国产的Git仓库替代平台
近日,GitHub对中国区IP的部分限制引发了广泛关注。未登录用户被拒,已登录用户功能受限,南北网络环境差异更显“内卷”。为应对这一挑战,本文推荐了多个国产Git平台:Gitee(码云)、GitCode(CSDN旗下)、CODING(腾讯系)、CodeUP(阿里云支持)及微信代码管理工具。这些平台功能全面、稳定性强,是开发者迁移项目的理想选择。通过同步代码、配置CI/CD流水线等简单步骤,可确保项目平稳过渡。此次事件提醒我们,掌握核心技能与支持国产平台同样重要!
1031 11
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
136 10
git的常用操作命令
git的常用操作命令
240 57
Git常用命令及操作技巧
以上是Git的常用命令及操作技巧,尽管看起来有些繁琐,但实际上只要花费一些时间进行实践,您将很快熟练掌握。随着使用熟练度的提高,您会发现Git对项目管理和协同工作的强大帮助。
92 20
用git rebase命令合并开发阶段中多条commit提交记录
通过 `git rebase`,可以合并多个提交记录,使开发历史更简洁清晰。操作分为 6 步:查看提交历史 (`git log --oneline`)、设置需合并的提交数 (`git rebase -i HEAD~N`)、修改动作标识为 `s`(squash)、保存退出编辑、调整提交信息、强制推送至远程仓库 (`git push -f`)。此方法适合清理本地无关提交,但若有团队协作或冲突风险,需谨慎使用以避免问题。
266 60
版本控制工具:Git的安装和基本命令使用指南。
结束这段探险,掌握了Git你就等于掌握了一个宝藏,随时可以瞥见你的编程历程,轻松面对日后的挑战。Git,无疑是编程者的强大武器,开始你的Git探险之旅吧!
157 28
git 常用命令
这些只是 Git 命令的一部分,Git 还有许多其他命令和选项,可根据具体需求进行深入学习和使用。熟练掌握这些命令能够帮助你更高效地管理代码版本和协作开发。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问