我在其他的代码托管平台(不是github
)有一套代码,不同代码托管平台之间没有相互迁移的功能,怎么将仓库代码提交到github
仓库呢?
直接从代码托管平台下载再上传github
吗?
这样会丢掉每一次提交记录,相当于历史提交的日志全没了,这也太糟糕了。
接下来,我会讲解方法。这适合于所有不同平台Git
仓库之间的搬运。所以就不要老是抱怨着为什么没有外部仓库迁移过来的功能了。
一、在不同代码托管平台迁移自己的仓库
这里以其他托管平台代码迁移到github
为例。
第一步github
上新建一个repository
第二步
为了本地仓库和远程仓库建立连接,把我选中的这一行在命令行执行
git remote add origin :liuchenyang0515/MyWiki.git
结果发现remote origin
已经存在,废话,本来就是在别的托管仓库的,origin
当然存在了。你可以用git remote -v
看看远程仓库关联的信息。
第三步
删除原来关联的origin
的远程库,与现在新的github
远程仓库建立关联。执行如下
git remote rm origin
git remote add origin :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
提交,你都想跟随视频运行一下看看结果,你完全可以利用Idea
的Git
工具,这是一个快速学习的好方法。
如图所示,选择Checkout Revision 'xxxxx'
,切换到每一次提交处的代码,可以启动运行学习一下。