我可以~/.ssh/
在其他计算机上和其他计算机上使用自己的密钥,可以从相关的存储库中进行推送和拉出。
为什么在一台计算机上我总是需要输入我的github用户名/密码,而在其他计算机上却不需要呢?
为了避免这种情况,我应该做些什么更改,而改用我的ssh键?
可以通过将身份验证协议方法从https更改为ssh进行更改
一种选择是重命名或删除现有存储库,然后使用另一种方法“重新克隆”。因此,在执行mv
或rm -r
访问当前存储库后,clone命令将类似于
git clone [email protected]:user_name/repo_name.git
您可以使用以下git config -l
命令查看两种方法的区别:
对于https:
...
remote.origin.url=https://github.com/user_name/repo_name.git
...
对于ssh
...
[email protected]:user_name/repo_name.git
branch.master.rebase=true # This was also created in the ssh method
...
您可以在.git/config
文件中看到每个回购的区别:
rebase = true
ssh中的添加[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = https://github.com/user_name/repo_name.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = [email protected]:user_name/repo_name.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
rebase = true
因此,如果您只想更改身份验证方法而无需“重新克隆”整个存储库,则可以编辑项目.git/config
并进行更改
url = [email protected]_name/repo_name.git
到
url = https://github.com/user_name/repo_name.git
加加
rebase = true
在底部的“ [branch "master"]
”部分
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句