我知道如何为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
但它们并没有起作用。
这是一个很棒的Stack Overflow问题,答案非常有启发性,因此我能够解决最近遇到的一个烦人的问题。
我工作的组织使用Atlassian的BitBucket产品(不是Github),本质上是他们的Github版本,因此存储库可以完全在前提下得到保护。我遇到了与@coordinate类似的问题,因为我签出的新存储库需要密码。我的证书被保存在所有BitBucket项目的全球范围内,所以我不确定是什么原因导致了证书的丢失。
简而言之,我可以输入以下GIT命令(只提供我的用户名),然后提示GIT的凭证管理器提示我输入密码,然后我就可以保存密码了。
git clone https://user@code.domain.org/git/[organization]/[team]/[repository.git]
注意:括号内的目录子路径只是指内部引用,并且会因你而异!
要克隆存储库,首先应该生成一个访问令牌(您不能再使用登录密码),然后使用这个生成的令牌克隆存储库。
生成访问令牌:
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
它将提示您输入已生成的令牌。