如何克隆私有GitLab仓库?

ilmyapht  于 2023-08-01  发布在  Git
关注(0)|答案(9)|浏览(210)

当我这样做时:

git clone https://example.com/root/test.git

字符串
我得到这个错误:
fatal:HTTP请求失败
使用SSH时:

git clone username git@example.com:root/test.git


我得到这个错误:
在/server/user/git@example.com中初始化空的Git仓库:root/test.git/.git/
fatal:'user'似乎不是git仓库
致命:远程端意外挂起
这是一个私有存储库,我已经添加了我的SSH密钥。

crcmnpdw

crcmnpdw1#

关于GitLab,似乎没有一个简单的基于HTTPS的克隆解决方案。因此,如果你想要一个基于SSH的克隆,你应该考虑这三个即将到来的步骤:

  • 使用注册时使用的电子邮件地址正确创建SSH密钥。我会使用默认的文件名为Windows键。别忘了输入密码!(提示:* 如果您已经有一个ssh密钥,则可以跳过此步骤 *)
$ ssh-keygen -t rsa -C "your.email@example.com" -b 4096

 Generating public/private rsa key pair.
 Enter file in which to save the key ($PWD/.ssh/id_rsa): [\n]
 Enter passphrase (empty for no passphrase):[your password]
 Enter same passphrase again: [your password]
 Your identification has been saved in $PWD/.ssh/id_rsa.
 Your public key has been saved in $PWD/.ssh/id_rsa.pub.

字符串

  • 将最近生成的id_rsa.pub中的所有内容复制粘贴到GitLab配置文件中的【设置】>【SSH密钥】>【密钥】。
# Copy to clipboard
 pbcopy < ~/.ssh/id_rsa.pub

  • 本地连接:
$ ssh -i $PWD/.ssh/id_rsa git@gitlab.com

 Enter passphrase for key "$PWD/.ssh/id_rsa": [your password]
 PTY allocation request failed on channel 0
 Welcome to GitLab, you!
 Connection to gitlab.com closed.


最后,克隆任何私有或内部GitLab存储库!

$ git clone https://git.metabarcoding.org/obitools/ROBIBarcodes.git

Cloning into 'ROBIBarcodes'...
remote: Counting objects: 69, done.
remote: Compressing objects: 100% (65/65), done.
remote: Total 69 (delta 14), reused 0 (delta 0)
Unpacking objects: 100% (69/69), done.

ne5o7dgx

ne5o7dgx2#

ssh clone语句错误:git clone username git@example.com:root/test.git
该语句将尝试将名为username的存储库克隆到相对于当前路径git@example.com:root/test.git的位置。
你想省略username

git clone git@example.com:root/test.git

字符串

5tmbdcev

5tmbdcev3#

如果你在GitHub上尝试这个,你可以在输入SSH的情况下这样做:

git clone https://username@github.com/username/repository

字符串

bfrts1fy

bfrts1fy4#

我尝试了所有这些建议。以下是最终对我起作用的:
1.在https://gitlab.com/-/profile/personal_access_tokens处创建访问令牌。注意:请务必复制令牌并保存。你会需要它的!

  1. git clone https://gitlab.com/USERNAME/REPO.git(用您的唯一信息替换USERNAME和REPO)。
    1.在请求时输入您的GitLab用户名。
    1.当它要求您输入密码时,请输入您在步骤1中创建的访问令牌。您的GitLab帐户密码将不适用于此。访问令牌是您所需要的。
vojdkbi0

vojdkbi05#

在做之前

git clone https://example.com/root/test.git

字符串
确保你已经在你的系统中添加了ssh密钥。按照这个:https://gitlab.com/profile/keys的数据。
添加后,运行上述命令。它将提示您输入gitlab用户名和密码,并在身份验证时进行克隆。

vngu2lb8

vngu2lb86#

你可能需要一个~/.ssh/config

Host gitlab.YOURDOMAIN.DOMAIN
    Port 1111
    IdentityFile ~/.ssh/id_rsa

字符串
然后你可以使用git clone git@DOMAINandREPOSITORY。这意味着您始终使用用户git

l3zydbqr

l3zydbqr7#

如果您使用Windows,
1.创建一个文件夹并从那里打开git bash
1.在git bash中,
git clone git@gitlab.com:Example/projectName.git

insrf1ej

insrf1ej8#

我使用python和docker创建了这个tool,用于一次性克隆所有GitLab项目,它将保留组/子组树结构,并将克隆/拉取所有未镜像的GitLab仓库。它需要docker和docker compose以及来自gitlab用户的个人访问令牌沿着将被视为您希望克隆的顶级组的组ID。

ccrfmcuu

ccrfmcuu9#

git clone https://username:password@gitlab.com/example.com:root/test.git

字符串
试试这个,你肯定会得到答案

相关问题