如何在gitlab中使用用户名和密码进行git克隆?

28

我正在使用GitLab。 我想编写一个包含所有步骤的.bat文件,以便我可以自动化所有过程,以下是这些步骤:

  1. 打开cmd.exe /k
  2. git init
  3. git clone https://username:password@gitlab.com/board.git ////// 不起作用
  4. git status

第三点git clone https....在GitBash中不再起作用了。我尝试使用git clone SSH ...,它能够工作并要求输入密钥口令,登录后即可克隆存储库。由于我想通过默认方式提供登录凭据来自动化该过程,因此如何使用SSH实现此目标?谢谢。


你说的 git clone 不工作是什么意思(使用凭据的 https)?控制台输出是什么?你发布的示例 URL 看起来可疑,也许你使用了错误的 URL?gitlab.com/board.git 应该改为:gitlab.com/<用户或组名>/board.git - makozaki
是的!!!这就是你说的样子!我想使用SSH进行克隆,如何用SSH提供密钥?能帮我吗? - Blessy Julie
为什么需要SSH克隆的密码?您可以在GitLab帐户设置中添加公钥,并使用私钥来通过SSH进行克隆。 - makozaki
1
是的!当我执行 git clone <SSH> 时,它会要求输入密码。你能帮我解决如何插入密码吗?在生成密钥时,我确实设置了一个密码。 - Blessy Julie
3个回答

21

对我来说,在gitlab之前添加用户名起作用了。然后它会要求输入密码。

git clone https://user@gitlab.com/project.git

哇,这真的很有用。我后来不需要设置我的git配置。它直接就可以工作了。也不需要公共和私人令牌。只需要通过在Windows上输入命令后出现的弹出屏幕登录,然后完成! - Oushima
1
这对我也管用 :) 这么简单的修复方式。 - KoderM

12

您需要使用访问令牌。Gitlab 不允许直接使用密码。

git clone https://<username>:<token>@gitlab.com/group/project.git

创建Gitlab访问令牌的步骤:
  1. 点击右上角的头像,选择 “编辑个人资料”
  2. 在左侧面板中,选择 “访问令牌”
  3. 输入“令牌名称”和“过期日期”(如有),
  4. 勾选“读取代码库”复选框
  5. 点击“创建个人访问令牌”
  6. 记得保存访问令牌,它只会出现一次

在执行 git clone ... 命令时,在输入用户名后,如果要求输入密码,那么我们是否需要输入访问令牌? - Abdullah
1
@Abdullah 我的 git clone 命令包含 <username><token>。你应该将对应的用户名和令牌添加到这个命令中。Git 将成功地克隆你的存储库,而无需再询问更多信息。 - Thach Van

12
在生成密钥时,我设置了一个密码。最简单的解决方案是生成没有密码的密钥并使用它。Git克隆通过https应该可以工作,但是你示例中的url看起来有误。请转到您的项目页面,选择“Clone-> HTTPS”URL,该URL应如下所示:https://gitlab.com/<用户名或组名>/<项目名称>.git 假设这是您的用户私有项目,您的用户将为Julie,则包含凭据的URL将如下所示:https://user:password@gitlab.com/julie/board.git 在开始编写脚本之前,请手动测试URL。 因此,在您的脚本示例中,请不要初始化任何内容,仅对https进行克隆:
git clone https://user:password@gitlab.com/julie/board.git
cd board
git status

或者,如果您创建了没有密码的 SSH 密钥 并将其设置在 GitLab 上:

git clone git@gitlab.com:gitlab.com/julie/board.git
cd board
git status

1
感谢您的回复,我被告知要使用带有密码短语的ssh密钥。当我尝试执行以下命令时:git clone https://gitlab.com/julie/board.git Cloning into 'board'... remote: HTTP Basic: Access denied fatal: Authentication failed for 'https://gitlab.com/julie/board.git/' - Blessy Julie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接