GitHub设置ssh免用户名和密码push

in mini.topia6 years ago

GitHub设置ssh免用户名和密码push

从github上 clone项目后,想提交修改,需要具有提交权限。

但在自己的fork项目上,添加ssh认证后,发现push还要输入用户名和密码。

原来clone的时候,使用的是https,而不是ssh。

$ cat .git/config 
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    url = https://github.com/userxxx/projectyyy
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master

需要更新一下origin为ssh方式。

$ git remote remove origin
$ git remote add origin git@github.com:userxxx/projectyyy.git
$ cat .git/config 
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[branch "master"]
[remote "origin"]
    url = git@github.com:userxxx/projectyyy.git
    fetch = +refs/heads/*:refs/remotes/origin/*

重新设置track branch

$ git pull origin master
$ git branch --set-upstream-to=origin/master master

再重新提交
git push origin master