Git 避免输入用户名和密码
git操作一般都支持两种协议:ssh/http(s), 默认情况下, 不管使哪种协议在进行git操作都将输入用户名和密码,这将导致整个使用体验非常差。我们希望仅仅输入一次用户名和密码, 甚至一次也不用输入。
在进行任何配置之前, 我们需要定义我们使用哪个用户和git代码库交互。使用git config
配置用户名和邮箱信息,如果你仅仅是用于当前工作目录,去掉 --global
选项,将仅在当前代码库生效。
git config --global user.email "xxx@xxx.com"
git config --global user.user"xxx"
设置git长期存储密码
git config --global credential.helper store
当然你也可以使用临时存储密码的方式, 默认cache时间为15分钟。
git config --global credential.helper cache
同样 --global
去掉之后,将只对当前目录生效。
按上述配置之后,仅需按提示输入一次密码,之后将不在需要再次输入密码, 临时模式, 默认是15中内不需要输入用户名和密码。
对于SSH的仓库地址,完全可以配置密钥来操作git, 配置 ~/.ssh/config, 添加上git仓库的密钥配置。
Host github.com
Hostname github.com
IdentityFile ~/.ssh/id_rsa
这里的Host是个别名, 你可以随便定义, 建议和域名保持一致,Hostname即远程仓库的地址, 可以是域名也可以是IP,IdentityFile指向私钥文件。
同时需要将公钥配置到github,github在 https://github.com/settings/keys路径下,gitlab仓库应该也类似。导入你ssh公钥即可。
没有的ssh密钥的话, 使用ssh-keygen
生成一个就好了。