将现有的本地Git Master Repo导入Gitlab:Git用户访问问题

时间:2014-07-29 10:16:02

标签: git gitlab

我在testvps.subdomain.domain.com:~public_html/domain.com/ZendSkeletonApplication/下的测试服务器上有一个git master分支。我现在在http://testvps.subdomain.domain.com:8888

的同一台服务器上运行了Gitlab CentOS rpm

将Local Master Repo导入Gitlab

我需要将这个现有的本地存储库导入到Gitlab中(请参阅前面有关使用ssh克隆repo here的问题。)在同一测试服务器上。这个repo是主分支而不是原始分支原点,它是Github上的ZendApplication。对于密码访问,Gitlab建议使用类似https://username:password@gitlab.com/company/project.git文档的链接,将裸存储库复制到/ home / git /

最好的方法是什么?

用户git仅以某种方式添加了主目录未创建我想这必须手动完成 - 请参阅链接here。不确定是否需要进行适当的进口。这是一个主分支需要一种不同的方法来导入现有的git存储库,看起来有20多次提交。 也许我应该让主人成为新的起源?我该怎么做呢?

更新

我添加了gitlab .git repo作为新的遥控器。

git remote set-url origin git@testvps.sub.domain.com:root/repo.git
git remote -v
origin  git@testvps.sub.domain.com:root/repo.git (fetch)
origin  git@testvps.sub.domain.com:root/repo.git (push)

当我尝试推送它时,我收到了git用户密码的请求

git push -u origin master
git@testvps.sub.domain.com's password: 

这不应该是我需要的,也不应该。我该如何解决这个问题?

PS sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production不起作用,因为它提到了bundle,因为缺少命令

3 个答案:

答案 0 :(得分:4)

您可能希望能够使用rake gitlab:import:repos

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

所有者将是第一个管理员,如果尚未存在,则会创建一个组。

另请参阅:How to import an existing bare git repository into Gitlab?

答案 1 :(得分:1)

一旦你输入了用户访问问题:

  1. 在GitLab上创建一个与本地项目同名的新项目。
  2. 在您当地执行:git remote add origin git@repo-url:projectpath/projectname.git
  3. git push

答案 2 :(得分:0)

在另一位服务器管理员的帮助下,我解决了问题。我需要生成并添加一个ssh密钥,如此处所述http://www.codeproject.com/Articles/674637/How-to-passwordless-ssh。不知何故,在Gitlab的安装过程中,这并没有得到解决。因此生成了一个密钥并添加到授权密钥中:

ssh-keygen -t rsa
Generating public/private rsa key pair.
//store in home directory of user and then copy to authorized keys at destination
cat /user/.ssh/id_rsa.pub >>  /var/opt/gitlab/.ssh/authorized_keys

此外,Gitlab回购的路径不正确。所有回购都在这里:/var/opt/gitlab/git-data/repositories/我的回购在我的用户 - 现在是jasper - 因此git@testvps.domain.com:/var/opt/gitlab/git-data/repositories/jasper/repo.git