在使用 git 时,如果不是使用ssh 和 key 验证的方式,则每次提交都会让输入用户名和密码,会显得比较麻烦,在服务器上配置时也无法做到自动同步更新代码。那么如何解决这个问题呢?我们这里介绍除 ssh + key 以外的免密码登录方式。在全局中存储用户的账号密码
以 Windows 环境为例,在 %HOME% 目录中,一般为C:\Users\username(也可以是你自己创建的系统用户名目录)目录下,创建.git-credentials 文件。
文件内容为一行,样例如下:
https://username:password@git.example.com
注:username对应的 git 服务器的用户名,password 为密码。然后再进入 git bash 中执行,
git config --global credential.helper store
store为永久存储,当然也可以设置临时的:
git config –global credential.helper cache
默认为15分钟,如果想设置保存时间的话,可以输入:
git config credential.helper 'cache --timeout=3600'
这样就设置了一个小时的有效时间。
执行完后查看 %HOME% 目录下的 .gitconfig 文件,会多了一项:
[credential]helper=store
重新开启git bash会发现git push时不用再输入用户名和密码。在 Debian 等 Linux 系统中方法一致,只需要在自己的 $HOME 下创建 .git-credentials 即可。
单独对某个项目设置免密码访问 如果还未添加远程地址,可以输入一下命令:
git remote add origin https://username:password@github.com/example/example.git
如果已添加远程地址,最为简单的方式就是,直接在.git/config 文件中进行修改,按如上格式,添加用户名和密码。