windows下git 无密码push到github

windows下git 无密码push到github
 
现象说明:每次git push 到github都要输入用户名和密码 很麻烦,希望能记住密码,不用重复输入
 
这其实应该和linux下设置ssh无密码登录是一个原理,可能在windows下得用putty生成密钥
  1. putty官网下载puttygen.exe 及pageant.exe
    这俩个程序一个是用于生成密钥的一个是用于导入密钥的
    突然发现 TortoiseGit\bin\目录下已经有这两个文件了,所以不用下载了
  2. 运行puttygen.exe 点击生成
  3. 点击保存私钥,随便起个名字随便放在哪
  4. github中添加ssh key
    打开Github中Account Setting页面里的SSH Public Key 选项卡,选择 Add another public key ,将刚才复制的公钥复制进去,随便起个名字(注意从图示位置复制,不要点击“保存公钥”再从文件中复制,这两个内容的文件头不一样,你如果不懂的话容易复制错)
  5. 打开 Pageant ,选择增加密钥,把刚才保存的那个后缀名为 ppk 的私钥导进去
  6. 在TortoiseGit中设置远程库
    1. Remote: 远程库名 随便设(最好设置成origin 因为一般git push 默认就是用这个库)
    2. URL:填在github中新建库的ssh的地址(注意是ssh的,不是git的 不是https的 地址写法不一样的,由其git与ssh的地址写法有些相似 )
    3. Putty key:选择你刚才生成的私钥即ppk文件
    4. 图示如下
    5. 其实你也可以用命令,但我不太熟悉命令所以用图形界面设置了。或者也可在/.git/config 中设置上述设置在config对应的配置代码为
  7. 现在用命令push到github就不需要密码了 (如果还不行请看后记)
    1. git push origin master  将本地master分支提交到远程origin库的master分支
    2. 如果你的远程库名已设置成origin的话 则可直接用命令 git push

后记
现象:2013-03-8因为恢复系统的缘故 原来的设置的无效了,后来又用以上方法在本地生成了puttk 并把公钥上传到github. 后来发现用TortoiseGit  push没有问题。但用命令push 老是说“permission denied …… the remote end hung up unexpectedly……
解决:在本地用ssh命令重新生成了sshkey 然后把公钥加入到github(这样github有2个公钥 一个puttk生成 一个ssh命令生成)
ssh-keygen -t rsa -C your_email@youremail.com
然后把 id_rsa.pub 的内容添加到github即可
可能是命令与TortoiseGit  使用不同的ssh key。以前我可能是先设置过sshkey 后来又按照上面的方式设置过puttk。为什么会这样 自己也弄不清楚
 




posted @ 2013-03-02 01:02  man1m  阅读(1326)  评论(0编辑  收藏  举报