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生成一个就好了。

【腾讯云】境外1核2G服务器低至2折,半价续费券限量免费领取!
https://cloud.tencent.com/act/cps/redirect?redirect=1068&cps_key=e4b50f6c64a4480367f8a8d16fd07c5a&from=console

标签: git, git免密, credential.helper

添加新评论