svn项目导入git 将现有的git项目导入到GitLab中?




svn项目导入git (7)

我有一个Gitlab安装帐户,我在其中创建了存储库“ffki-startseite”

现在我想将存储库git://freifunk.in-kiel.de/ffki-startseite.git克隆到具有所有提交和分支的存储库中,以便我可以在自己的范围内开始处理它。

我如何导入它?


git clone --mirror [email protected]:username/repo-name.git

git remote add gitlab ssh://[email protected]/username/repo.git

git push -f --tags gitlab refs/heads/*:refs/heads/*

最好通过ssh来完成,https可能不起作用


耙gitlab:导入:回购可能是一个更适合的大规模导入方法:

  • 复制repos_path/home/git/repositories/group/repo.git )下的裸存储库。 目录名称必须以.git结尾,并位于组或用户名称空间下。
  • 运行bundle exec rake gitlab:import:repos

所有者将第一个管理员,并且如果还不存在,则会创建一个组。

另请参阅: 如何将现有的裸Git存储库导入Gitlab?


这是向新位置回购的基本举措。 我一直都在使用这个序列。 随着 - 不会看到源文件。

打开Git Bash。
创建存储库的裸副本。

git clone --bare https://github.com/exampleuser/old-repository.git

镜像推送到新的存储库。

cd old-repository.git

git push --mirror https://github.com/exampleuser/new-repository.git

删除您在步骤1中创建的临时本地存储库。

cd ..
rm -rf old-repository.git

将项目从GitHub移至GitLab,包括问题,拉取请求Wiki,里程碑,标签,发行说明和评论

有关于GitLab Docs的完整说明:

https://docs.gitlab.com/ee/user/project/import/github.html

TL;博士

  • 确保任何想要映射到GitLab用户的GitHub用户都可以:

    • 使用GitHub图标登录的GitLab帐户 - 或 -
    • 具有与GitHub用户的公共电子邮件地址相匹配的电子邮件地址的GitLab帐户
  • 从顶部导航栏中,单击+并选择新建项目。

  • 选择导入项目选项卡,然后选择GitHub。
  • 选择第一个按钮来列出你的GitHub存储库。 您被重定向到github.com上的一个页面来授权GitLab应用程序。
  • 点击授权gitlabhq。 您被重定向回GitLab的导入页面,并列出您所有的GitHub存储库。
  • 继续选择要导入的存储库。

但请阅读https://docs.gitlab.com/ee/user/project/import/github.html了解详细信息和钩子!

(这不是很多)


我能够通过以下在我的计算机上本地运行的命令将我的项目以及所有提交,分支和标记完全导出到gitlab:

为了说明我的例子,我将使用https://github.com/raveren/kint作为我想要导入到gitlab的源代码库。 我在gitlab中预先创建了一个名为Kint的空项目(在名称空间raveren ),它告诉我新创建的项目的http git url有http://gitlab.example.com/raveren/kint.git

这些命令是OS不可知的。

在一个目录中:

git clone --mirror https://github.com/raveren/kint
cd kint.git
git remote add gitlab http://gitlab.example.com/raveren/kint.git
git push gitlab --mirror

现在,如果您有一个本地克隆的存储库,您想要使用新的远程存储库,只需运行以下命令*:

git remote remove origin
git remote add origin http://gitlab.example.com/raveren/kint.git
git fetch --all

*这假设您没有从origin重命名您的远程主机,否则,更改前两行以反映它。


将新的gitlab远程添加到现有的存储库并推送:

git remote add gitlab url-to-gitlab-repo
git push gitlab master

保持所有标签和分支

只需在existing Git repository运行此命令即可

cd existing_repo
git remote add gitlab [email protected]:hutber/kindred.com.git
git push -u gitlab --all
git push -u gitlab --tags




gitlab