我知道如何为HTTPS请求提供用户名和密码,就像这样:

git clone https://username:password@remote

但是我想知道如何像这样为遥控器提供用户名和密码:

git clone git@remote.git

我是这样尝试的:

git clone username:password@git@remote.git
git clone git@username:password@remote.git
git clone git@remote.git@username:password

但它们并没有起作用。


当前回答

我用以下方法解决了这个问题:

其他回答

我用以下方法解决了这个问题:

git config --global core.askpass

在克隆之前先运行这个,应该是固定的!

如果这些参数正在产生问题,请使用ur的特殊情况替换它们:

 !   #   $   &   '   (   )   *   +   ,   /   :   ;   =   ?   @   [   ]

%21 %23 %24 %26 %27 %28 %29 %2A %2B %2C %2F %3A %3B %3D %3F %40 %5B %5D

举个例子

实际URL: https://usern@me:p@ssword@git/reponame.git

使用的解决方案URL: https://usern%40me:p%40ssword@git/reponame.git

虽然有很多答案,但我自己经常遇到用户名或密码中有特殊字符的问题。

URL编码你的用户名和密码的git,然后使用它作为URL本身的一部分(当没有安全问题)。

比如说,URL编码的用户名的值

“用户+1”是用户%2B1

和URL编码的密码值

“Welcome@1234”是欢迎%401234

然后你的GIT克隆URL看起来是这样的,

git克隆https://user%2B1:Welcome%401234@actual-git-url for-the-repo工作完美,然而, git克隆https://user+1:Welcome@1234@actual-git-url-for-the-repo给你403个错误

希望这能有所帮助。

以防万一,要在线编码URL: https://www.urlencoder.org/

要克隆存储库,首先应该生成一个访问令牌(您不能再使用登录密码),然后使用这个生成的令牌克隆存储库。

生成访问令牌:

github: 设置>开发人员设置>个人访问令牌>生成新的令牌

bitbucket都: 个人设置>应用密码>创建应用密码

克隆存储库:

github:

$ git clone https://YOUR-USERNAME:GENERATED-TOKEN@github.com/YOUR-USERNAME/YOUR-REPOSITORY

bitbucket都:

git clone https://YOUR-USERNAME@bitbucket.org/YOUR-REPOSITORY

它将提示您输入已生成的令牌。