图解代码托管平台git仓库迁移保留历史日志记录!

业余草

共 1423字,需浏览 3分钟

 · 2022-08-24

你知道的越多,不知道的就越多,业余的像一棵小草!

你来,我们一起精进!你不来,我和你的竞争对手一起精进!

编辑:业余草

liuchenyang0515.blog.csdn.net

推荐:https://www.xttblog.com/?p=5353

如何把其他代码托管平台git仓库迁移到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平台。

浏览 53
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报