2019年年初的时候,github就宣布了为用户免费提供无限制的私有仓库服务,虽然每个仓库限制最多3个协同操作者,但这个消息仍然令人振奋。这就意味着,之前一直放在gitee(码云)上的仓库可以迁移回github进行统一管理。那些叫什么study-xxx的学习类工程,还有一部分不开源的项目(你懂的)也可以安心放在github托管了。
我们都知道,从github迁移到gitee很方便,因为gitee提供了很完善的导入功能,让你一键把github所有仓库到导入到gitee,并可以保持两边版本同步。但如果要把gitee仓库导入回github,就没前者那么方便了。下面给大家讲下我摸索到的两种方式,它们都可以让代码文件和commits这些信息都保留。
方法一:Web导入
- 先在github点顶部栏的
New repository
来创建一个私有仓库(虽然有Import repository选项但建议别直接使用这个,后面你就知道了),仓库名可以跟gitee一样。 - 进入新创建的仓库页面,在最底下有个
Import code
,点它进入导入页面(这个界面跟创建仓库时直接点Import repository的界面其实差不多)。 - 敲黑板!这块是全教程最重要一点! 填写gitee的仓库地址,例如
https://gitee.com/liyifeng1994/study-xxx.git
,后面的.git
带不带都行。但是!这种仓库地址只适合gitee公共仓库,如果你的仓库是私有的(不是私有我干嘛放gitee?),那么你就要在仓库地址上加上gitee的用户名和密码,例如https://liyifeng1994:password@gitee.com/liyifeng1994/study-xxx.git
,注意地址前面的:
和@
。用户名一般是你仓库地址上面的用户名,并非你在gitee的某个登录邮箱帐号,邮箱包含了@符号反而造成地址解析错误。怎么检验你输入的地址是否正确?可以在本地电脑通过命令git clone https://liyifeng...
看下能否把仓库下下来。确认仓库地址无误后点击Begin import
完成导入。 - 什么!500?是的!你没看错,页面一般情况下都会返回500错误页面(反正我是几乎没遇到正常的页面)。莫方,等个几秒后点一下浏览器返回,然后刷新导入页面,就会看到页面显示导入的进度条和一些提示文案。大概再过了2-3分钟(视仓库文件大小而定),刷新仓库主页就能看到所有代码文件和commits都回来了(开心~)。
方法二:本地命令行
- 先在github创建一个私有仓库,跟上面步骤1一样。
- 把gitee上的仓库下载到本地(如果本地已有请跳过)。
git clone https://gitee.com/liyifeng1994/study-xxx.git
- 移除gitee远端(不移除也可以,但github要改名不能也叫origin)
git remote remove origin
- 添加github远端
git remote add origin https://github.com/liyifeng1994/study-xxx.git
- 推送到github的master(如果有多个分支需要一个一个推)
git push -u origin master
以上介绍的两种方法都可以实现从gitee把仓库迁移到github,而且保留所有代码文件、commits等信息。如果仓库在电脑本地已经存在且没有过多分支,可以直接使用第二种。当然,我更愿意使用第一种来的方便。其实github的导入并非仅限于gitee平台,你也可以把gitlab、bitbucket平台的仓库迁移到github,本教程只是用国内知名的中文代码托管平台gitee(码云)来举个例子。
不说了,我要继续迁移下一个仓库了。。。