原文地址:解决git以 https和ssh方式 每次都要输入用户名和密码问题php
如何区分咱们使用的https方式仍是ssh方式跟git server交互的呢?在git bash里边输入 git
git remote -v
如图所示https协议,因此使用的就是https方式github
使用https方式
在git bash 中执行缓存
git config –global credential.helper store这个是长期存储密码。bash
固然也能够设置缓存密码多久app
git config –global credential.helper cache设置记住密码(默认15分钟)ssh
若是想本身设置缓存时间,能够这样作:
spagit config credential.helper ‘cache –timeout=3600’这样就设置一个小时以后失效orm
上面的命令操做实际上是被记录到 ~/.gitconfig 文件中了server
使用ssh方式
咱们思路:把https方式换成ssh方式的,而后生成公匙、私钥,把公匙放在git server端。
一、从新设置成ssh的方式:
git remote rm origin git remote add origin git@github.com:username/repository.git git push -u origin master二、添加SSH公匙。
ssh-keygen -t rsa -C “xxx"
我这边由于以前就有设置,因此会提示是否覆盖,小括号里有文件的路径。success后,会在~/.ssh/目录生成两个文件,如图中所示的两个文件,把id_rsa.pub文件中的内容复制github New SSH key,以下所示:
三、进入本身的github主页,而后点击setting,再点击左侧导航中的SSH and GPG keys
四、点击右侧的New SSH key,会出现以下界面
这样之后push 就能够不用输入密码了。