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

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

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

我怎样才能导入它?

将新的gitlab远程添加到现有的存储库,然后按下:

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

我能够完全导出我的项目以及所有提交,分支和标签到gitlab通过下面的命令我的电脑本地运行:

为了说明我的例子,我将使用https://github.com/raveren/kint作为我想要导入到gitlab的源代码库。; 我在gitlab中事先创build了一个名为Kint的空项目(在namespace raveren ),它告诉我新创build的项目的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:import:回购可能是一个更适合的大规模import的方法:

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

所有者将第一个pipe理员,一个组将被创build,如果还不存在。

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

 git clone --mirror git@github.com:username/repo-name.git git remote add gitlab ssh://git@servername.com/username/repo.git git push -f --tags gitlab refs/heads/*:refs/heads/* 

最好通过ssh来完成,https可能无法工作

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

打开Git Bash。
创build存储库的裸露克隆。

 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中创build的临时本地存储库。

 cd .. rm -rf old-repository.git 

保持所有的标签和分支

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

 cd existing_repo git remote add gitlab git@git.hutber.com:hutber/kindred.com.git git push -u gitlab --all git push -u gitlab --tags