git要求我输入gitlab的用户凭证,我使用的是gitlab.com,而不是自托管的gitlab。
我按照说明设置了ssh密钥,创建了一个密钥,从~/.ssh/id_rsa.pub复制了内容,使用gitlab的用户界面将密钥添加到gitlab中,git仍然要求我输入用户名和密码。
git remote -v
origin https://gitlab.com/<my_user>/<my_repo> (fetch)
origin https://gitlab.com/<my_user>/<my_repo> (push)
2条答案
按热度按时间8iwquhpp1#
您正在使用HTTPS身份验证。请切换到基于SSH的URL(在本例中,可能是
ssh://git@gitlab.com/path/to/repo.git
或git@gitlab.com:path/to/repo.git
)。例如:(或者,如果您习惯使用配置好的编辑器,可以运行
git config --edit
并直接在配置文件中编辑URL。确保您选择的任何编辑器以纯文本格式存储文件,而不是任何增强的富文本或UTF-16编码。)背景
为了将一个Git连接到另一个Git,你可能需要验证自己的身份,有几种方法可以做到这一点(是否需要验证取决于你所建立的连接的类型,以及仓库是否是公共的)。
如果你在
https://
上进行身份验证,你的Git可能会要求你提供用户名和密码。它可以使用各种凭据帮助器,这些帮助器也可以 * 存储 * 用户名和/或密码。你可以配置要使用的凭据帮助器,包括“缓存”和“存储”帮助器。使用不同的附加数据。请注意,可用的凭据帮助程序集也会根据底层操作系统的不同而变化。如果您通过
ssh://
进行身份验证,则将使用ssh密钥(SSH身份验证)。如果您使用以
user@host:
开头的URL,则您使用的是SSH身份验证。ni65a41a2#
为了避免每次连接gitlab时都输入凭据,只需创建访问令牌,并更改您的
remote origin
HTTP URL以使用新的API令牌,如下所示