将现有的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
的空项目(在namespaceraveren
),它告诉我新创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