我在Gitlab安装和SSH命令上遇到一个小问题,因为我们刚刚在Debian上安装了这个东西。
我跟着并使用了Gitlabs Omnibus安装,所以Gitlab在/ var / opt / gitlab /。经过一些调整,我们让它工作正常。现在出现问题,我试图将第一个项目推送到原始主数据库。第一个问题是我尝试使用自己的用户名作为远程网址
username@gitlab.address.com:/full/path/to/repo.git
我现在把它改成了git @,因为我意识到它需要是git,因为git使用的repo文件夹是在git:git权限下。如果服务器上没有适当的权限,则无法覆盖这些文件。
现在,当我尝试通过
向我询问用户名的密码时/home/username/.ssh/id_rsa
路径。这很奇怪。我可以通过点击输入跳过这个,但之后它要求输入git@gitlab.address.com密码。
我没有设置这个。
当我尝试
时,更奇怪的是什么ssh git@git.address.com
此命令再次在/home/username/.ssh/id_rsa请求我的用户名密码。当我写它时,它让我登录并以我的真实姓名欢迎我。
我也尝试了sudo passwd git,更改了密码,然后试图跳过我的密码并只输入git@gitlab.access.com密码。不工作。称拒绝接入。
这里有什么问题,如何解决这个问题?
答案 0 :(得分:4)
您无法推送到/full/path/to/git/repo.git
,就好像它只是一个位于Git服务器中普通旧目录中的普通旧Git存储库。
GitLab是像GitHub这样的Git托管服务,唯一的区别是你可以在自己的金属或VPS上托管它。您没有尝试找到GitHub存储您的存储库的实际位置并试图推送到那里,对吗?同样的工作流程也应该应用于GitLab。
您应该将SSH公钥添加到GitLab帐户,然后从GitLab内部创建一个存储库。一旦你这样做,GitLab将为你提供使用的地址。它看起来像这样:
git@gitlab.example.com/[project-group|repository-owner]/repository.git
例如,如果项目" My Awesome Project"由John Doe"拥有。用户名" johnd",它看起来像git@gitlab.example.com/johnd/my-awesome-project.git
。如果它由项目组名称拥有" Ultra Secret"它的名字是" Project X 215",它看起来像git@gitlab.example.com/ultra-secret/project-x-215.git
。
现在您可以将该地址添加为现有存储库的远程地址,或者将其克隆以创建新的空存储库。
然后你可以按照自己的意愿推拉!