尊敬的StackOverflow社区,
我按照此(https://gitlab.com/help/ssh/README)指令创建了ssh键。我在网页上的GitLab配置文件中添加了ED25519 SSH密钥对,如果我ssh -T git@gitlab.com
确实收到了消息Welcome to GitLab, @username!
,那么到目前为止它似乎可以正常工作。
但是,我想git push
和git pull
从本地存储库到GitLab,而不必每次都输入密码。据我了解,SSH密钥应该完全是它们所做的,对吧?
编辑:
我的.ssh/config
包含:
Host machine
User username
HostName machine.webside.com
.gitconfig
包含:
[user]
name = John Doe
email = john.doe@email.com
并且.git/config
包含:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = https://gitlab.com/johndoe/projectname.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "branch1"]
remote = origin
merge = refs/heads/branch1
[branch "branch2"]
remote = origin
merge = refs/heads/branch2
答案 0 :(得分:0)
您的.git/config
显示您的存储库是通过HTTPS访问的,因此使用了用户名和密码身份验证。
如果要切换到ssh,除了添加SSH密钥外,还必须更改本地GIT配置。
GitHub上有一个非常详细的教程,介绍如何将GIT远程URL从HTTPS更改为SSH:https://help.github.com/en/articles/changing-a-remotes-url#switching-remote-urls-from-https-to-ssh
除了远程URL将类似于git@gitlab.com:<repo-url.git>
而不是git@github.com:<repo-url>.git
或多或少,您只需要使用git remote set-url origin
。