从Gogs迁移项目至GitLab

我以前使用的代码托管系统是Gogs,近期我切换到了更知名的代码托管系统GitLab。因此,我需要将原来托管在Gogs实例上的项目迁移到GitLab实例。

GitLab中提供了一些迁移工具,其支持的平台如下图:

其中,Gitea是Gogs的一个分支版本,我试着通过Gitea选项从Gogs导入项目,虽然GitLab能够正常列出Gogs上的项目列表,但是在导入时则会引发500错误。

经阅读文档得知,Gogs和GitLab均提供了操作代码仓库的API。因此,我可以编写一个Python脚本来迁移项目。

Git学习笔记

git流程图

本地操作

初始化一个git仓库

git init

将文件加入/撤出暂存区

git add .

这个命令会将目录下所有文件加入git仓库,如果使用git add *,则只会加入当前目录下的文件。

git reset HEAD < 文件>

将暂存区中的更改撤回至工作区,用于回滚add操作。