如何把其他代码托管平台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

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

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

git remote rm origin

git remote add origin git@github.com:liuchenyang0515/MyWiki.git

这样就删除了原来的远程仓库关联信息,与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日志并进行多维度分析。
目录
相关文章
|
2月前
|
jenkins 持续交付 开发工具
除了 Gitee,还有哪些代码托管平台支持 Webhook?
除了 Gitee,还有哪些代码托管平台支持 Webhook?
|
2月前
|
网络安全 开发工具 git
解决fatal:remote error:You can’t push to git://github.com/username/*.g
通过上述诊断与修复步骤,绝大多数的推送错误都能得到有效解决,确保您的Git工作流顺畅无阻。
113 1
|
2月前
|
Linux 网络安全 开发工具
IDEA如何配置git和github
【11月更文挑战第14天】本指南详细介绍了如何在 IntelliJ IDEA 中配置 Git 和 GitHub,包括检查和设置 Git 路径、测试配置,以及通过 SSH 或 HTTPS 方式配置 GitHub 仓库的具体步骤。完成配置后,用户可在 IDEA 中轻松进行版本控制操作。
195 0
|
4月前
|
安全 项目管理 开发工具
探索 GitHub:现代开发者的协作平台
GitHub 是一个基于 Git 的版本控制和协作平台,广泛应用于软件开发和项目管理。它不仅提供代码托管服务,还是开发者社区和开源项目的重要平台。本文介绍了 GitHub 的核心功能(如代码托管、协作工具、CI/CD 集成等)、使用技巧(如规范化提交信息、参与开源项目等),帮助开发者提升效率和协作能力。GitHub 自2008年成立以来,已成为全球最大的代码托管平台,支持团队协作和项目管理。
|
3月前
|
Unix Shell 网络安全
git学习六:(bug总结)git@github.com: Permission denied (publickey).等
本文是关于解决在使用Git和GitHub时遇到的“git@github.com: Permission denied (publickey)”错误的指南。文章提供了详细的步骤,包括确认SSH Agent运行状态、检查密钥配置、确保密钥匹配、验证仓库URL、检查权限和代理设置,以及配置SSH文件。这些步骤帮助用户诊断并解决SSH认证问题。
294 0
|
4月前
|
开发工具 git 开发者
掌握版本控制的艺术:Git 与 GitHub 的高效使用指南
在软件开发中,版本控制对于代码管理和团队协作至关重要。本文详细介绍了 Git 的核心概念与命令,包括初始化、创建仓库、文件跟踪、分支管理和远程仓库操作。同时,探讨了如何利用 GitHub 进行项目组织、代码审查及自动化工作流。通过遵循最佳实践,如频繁提交、清晰的信息记录和合理使用分支,开发者可以提升工作效率和团队协作能力,确保项目的持续成功。
|
4月前
|
Shell 网络安全 开发工具
Git,GitHub,Gitee&IDEA集成Git
Git提交项目到GitHub简洁版、版本控制、安装、常用命令、分支、团队协作机制、Github、Gitee远程仓库、IDEA集成Git、IDEA集成Github、IDEA集成Gitee
|
4月前
|
Shell 网络安全 开发工具
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
|
5月前
|
Shell 开发工具 git
|
6月前
|
网络安全 开发工具 git
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
1716 1